{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load Forecasting for the Air Handling System of an Office Building\n",
    "\n",
    "This tutorial provides an example of forecasting hourly energy loads for a multi-zone [variable-air-volume (VAV)](https://en.wikipedia.org/wiki/Variable_air_volume) air handling system of an office building.\n",
    "\n",
    "## Building HVAC System Load Forecasting\n",
    "Forecasting energy loads for a building's [heating, ventilation, and air-conditioning (HVAC)](https://en.wikipedia.org/wiki/Heating,_ventilation,_and_air_conditioning) system involves predicting how much energy is required to heat, cool, and ventilate a building during a period of time, for example at an hourly level for one day.\n",
    "Forecasting of building loads is useful for several applications, such as control optimization [1], management of [distributed energy resources](https://www.energy.ca.gov/data-reports/california-energy-planning-library/distributed-energy-resources) [2], and participating in [demand response](https://en.wikipedia.org/wiki/Demand_response) programs [3].\n",
    "These loads are often forecasted based on historical data, forecasted weather, forecasted system control setpoints, and/or system operation statuses.\n",
    "\n",
    "### Heating and Cooling Loads in Buildings\n",
    "\n",
    "Heating and cooling loads in buildings can be estimated using an energy balance:\n",
    "\n",
    "\\begin{align}\n",
    "\\dot{Q}_{HVAC} = \\dot{Q}_{internal}+\\dot{Q}_{envelope}+\\dot{Q}_{solar},\n",
    "\\end{align}\n",
    "\n",
    "where $\\dot{Q}_{HVAC}$ is the HVAC system load, $\\dot{Q}_{internal}$ is the internal heat gains (e.g., heat from occupants, lighting, and electronics), $\\dot{Q}_{envelope}$ is the heat transfer between the building interior and exterior through the [building envelope](https://en.wikipedia.org/wiki/Building_envelope), and $\\dot{Q}_{solar}$ is the heat gained from sunlight through windows. Accordingly, the HVAC system load is dependent on disturbances such as the outdoor weather conditions and internal occupant behavior, as well as the building design and construction. Furthermore, the energy required for the HVAC system to meet the load is dependent on the performance of the HVAC system components (e.g., fans, compressors, and heaters).\n",
    "\n",
    "\n",
    "<img src=\"figs/energy_balance.png\"  width=\"1000\"> \n",
    "\n",
    "### Building Load Forecasting References\n",
    "[1] [Chengliang Fan and Yunfei Ding. Cooling load prediction and optimal operation of HVAC systems using a multiple nonlinear regression model. Energy and Buildings, Volume 197, pp. 7-17, 2019.](https://www.sciencedirect.com/science/article/pii/S0378778818337861.)    \n",
    "[2] [Alessandro Beghi, Luca Cecchinato, Mirco Rampazzo, and Francesco Simmini. Load forecasting for the efficient energy management of HVAC systems. In 2010 IEEE International Conference on Sustainable Energy Technologies (ICSET), pp. 1-6. IEEE, 2010.](https://ieeexplore.ieee.org/abstract/document/5684414)  \n",
    "[3] [Jonathan Schachter and Pierluigi Mancarella. A short-term load forecasting model for demand response applications. In 11th International Conference on the European Energy Market (EEM14), pp. 1-5. IEEE, 2014.](https://ieeexplore.ieee.org/abstract/document/6861220)  \n",
    "[4] [Liang Zhang, Jin Wen, Yanfei Li, Jianli Chen, Yunyang Ye, Yangyang Fu, and William Livingood. A review of machine learning in building load prediction. Applied Energy, Volume 285, pp. 116452, 2021.](https://www.sciencedirect.com/science/article/abs/pii/S0306261921000209)    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## NeuroMANCER and Dependencies"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Install (Colab only)\n",
    "Skip this step when running locally."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install neuromancer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {
    "metadata": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x21bebabc190>"
      ]
     },
     "execution_count": 232,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import torch\n",
    "from neuromancer.psl import plot\n",
    "from neuromancer import psl\n",
    "import matplotlib.pyplot as plt\n",
    "from torch.utils.data import DataLoader, TensorDataset\n",
    "from sklearn.model_selection import train_test_split\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import requests\n",
    "\n",
    "from neuromancer.system import Node, System\n",
    "from neuromancer.dynamics import integrators\n",
    "from neuromancer.trainer import Trainer\n",
    "from neuromancer.problem import Problem\n",
    "from neuromancer.loggers import BasicLogger\n",
    "from neuromancer.dataset import DictDataset\n",
    "from neuromancer.constraint import variable\n",
    "from neuromancer.loss import PenaltyLoss\n",
    "from neuromancer.modules import blocks\n",
    "\n",
    "torch.manual_seed(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import data\n",
    "\n",
    "### System description\n",
    "\n",
    "A schematic of the system used in this example is shown below. \n",
    "[This data is collected from a laboratory setup of a multi-zone VAV system of an office building.](https://www.nature.com/articles/s41597-022-01858-6)\n",
    "The building has two floors with five zones on each floor. \n",
    "The [air handler](https://en.wikipedia.org/wiki/Air_handler) includes a roof top unit (RTU) with a heating and cooling coil and fan to condition and supply air to the zones.\n",
    "Each zone includes a VAV terminal unit equipped with a [damper](https://en.wikipedia.org/wiki/Damper_(flow)) and reheat coil.\n",
    "The temperature of each zone is controlled by individual thermostats and sensors/meters measuring temperature, humidity, airflow, electricity use, and gas use are included throughout the system.\n",
    "\n",
    "<img src=\"figs/vav_schematic.jpg\">  \n",
    "\n",
    "### Data files\n",
    "\n",
    "The data files used in this notebook can be found [here](https://figshare.com/articles/dataset/Scientific_Journal_Data_Empirical_HVAC_Operation/20520438/3).\n",
    "The `Building_Base_Cooling.csv` file provides the system measurement data and the `Weather_Base_Cooling.csv` file provides the accompanying weather data for this experiment.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# URL of the building measurements CSV file\n",
    "url = \"https://figshare.com/ndownloader/files/37624448\"\n",
    "\n",
    "# Download the file\n",
    "response = requests.get(url)\n",
    "with open(\"Building_Base_Cooling.csv\", \"wb\") as file:\n",
    "    file.write(response.content)\n",
    "\n",
    "# Read the CSV file into a DataFrame\n",
    "BaseCool = pd.read_csv(\"Building_Base_Cooling.csv\")\n",
    "\n",
    "# URL of the weather CSV file\n",
    "url = \"https://figshare.com/ndownloader/files/37624472\"\n",
    "\n",
    "# Download the file\n",
    "response = requests.get(url)\n",
    "with open(\"Weather_Base_Cooling.csv\", \"wb\") as file:\n",
    "    file.write(response.content)\n",
    "\n",
    "# Read the CSV file into a DataFrame\n",
    "WeatherCool = pd.read_csv(\"Weather_Base_Cooling.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model application and feature and target data for model training\n",
    "\n",
    "Depending on the application, building load forecast models require different input data. \n",
    "Models that are used purely for estimating loads for planning purposes (e.g., estimating peak loads or coordinating distributed energy resources) may use time/calendar features and forecasted weather data as inputs.\n",
    "Alternatively, load forecasting models used for optimal control of HVAC systems may require control setpoint data as an input (e.g., thermostat or supply air temperature setpoints) in addition to other inputs such as forecasted weather.\n",
    "There are other dynamics that can significantly impact building HVAC loads but can be difficult to control or predict (e.g., occupant behavior), so they are not typically used for load forecasting.\n",
    "\n",
    "This notebook uses weather data, including outdoor air temperature and humidity, solar irradiance, and wind speed/direction, as features for training the load forecasting models.\n",
    "The supply air temperature and the airflow rate measurement data at the RTU are also included and used as a proxy for control setpoints for the purposes of this notebook to emulate an application of load forecasting for developing optimal control policies.\n",
    "Real systems might use forecasted supply air temperature and duct static pressure setpoints, for example, for load forecasting to develop optimal policies for those setpoints.\n",
    "The target model output is the time series energy consumption of the RTU.\n",
    "\n",
    "The reader is encouraged to test the model capability using different combinations of feature data, such as using only weather data without system measurements or adding new system measurements as features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 345,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Identify feature and target columns\n",
    "sys_feat_columns = ['T_Sup_RTU', 'AF_RTU']\n",
    "target_columns = ['WH_RTU_Total']\n",
    "weather_excl_columns = ['TIMESTAMP'] # excludes timestamp but uses all other columns from weather data import\n",
    "\n",
    "# Add data to numpy arrays\n",
    "sys_feat = np.array(BaseCool[sys_feat_columns][1:]).astype(float)\n",
    "targets = np.array(BaseCool[target_columns][1:]).astype(float)\n",
    "weather = np.array(WeatherCool.drop(columns=weather_excl_columns)[1:]).astype(float)\n",
    "\n",
    "# Combine weather and system features data\n",
    "features = np.concatenate((sys_feat, weather), axis = 1) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Average minute level data for hourly predictions\n",
    "\n",
    "This uses time-averaging to convert the minute level data to hourly level data. \n",
    "This may not be necessary for all applications, but an hourly time step for load predictions is more typical than a minute level time step.\n",
    "Other time step sizes, such as 15 or 30 minute steps, can be tested by adjusting the `step_size` variable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 346,
   "metadata": {
    "metadata": {}
   },
   "outputs": [],
   "source": [
    "def moving_average(data, step_size):\n",
    "    \"\"\"\n",
    "    Compute the moving average of the input data array using the specified step size.\n",
    "    The moving average is calculated row-wise.\n",
    "    \n",
    "    Parameters:\n",
    "    - data (numpy.ndarray): Input 2D data array.\n",
    "    - step_size (int): Averaging step size.\n",
    "    \n",
    "    Returns:\n",
    "    - numpy.ndarray: Array containing the moving average values.\n",
    "    \"\"\"\n",
    "    # Initialize the result array with zeros\n",
    "    num_rows, num_cols = data.shape\n",
    "    new_rows = int(num_rows/step_size)\n",
    "    averaged_data = np.zeros((new_rows, num_cols))\n",
    "    \n",
    "    # Compute the moving average row-wise\n",
    "    for i in range(len(averaged_data)):\n",
    "        averaged_data[i] = np.mean(data[i*step_size:i*step_size+step_size], axis=0)\n",
    "    \n",
    "    return averaged_data\n",
    "\n",
    "# Average minute level data to create arrays of hourly data\n",
    "step_size = 60 # in units of minutes (i.e., 60 minutes for an hour window size)\n",
    "features_avg = moving_average(features, step_size)\n",
    "targets_avg = moving_average(targets, step_size)\n",
    "targets_avg = targets_avg*step_size/1000 # convert load data to kWh\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot hourly RTU load data\n",
    "This shows the hourly RTU load data for a one week period during the cooling season. \n",
    "The load profile is characterized by peaks in the middle of the day when solar irradiance and the outdoor air temperature are high. \n",
    "Lower load values occur overnight as the sun sets and the outdoor air temperature cools."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 347,
   "metadata": {
    "metadata": {}
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'RTU load (kWh)')"
      ]
     },
     "execution_count": 347,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(targets_avg)\n",
    "plt.xticks(np.arange(0, len(targets_avg)+1, step=24*(60/step_size)), np.arange(0, (step_size/60)*len(targets_avg)+1, step=24))\n",
    "plt.xlabel('Hour')\n",
    "plt.ylabel('RTU load (kWh)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Normalize data\n",
    "This normalizes the data based on the mean and standard deviation for each set of time series data points.\n",
    "Normalization is useful for training these models especially when there are multiple inputs and outputs of different orders of magnitude (e.g., temperature, airflow rates, and power data of different orders of magnitude in this case).\n",
    "The target mean and standard deviation are saved to variables for later plotting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 348,
   "metadata": {
    "metadata": {}
   },
   "outputs": [],
   "source": [
    "# Normalize features\n",
    "for i in range(len(features_avg[0])):\n",
    "    features_avg[:,i] = (features_avg[:,i]-np.mean(features_avg[:,i]))/np.std(features_avg[:,i])\n",
    "    \n",
    "# Normalize targets\n",
    "targ_mean = np.mean(targets_avg)\n",
    "targ_std = np.std(targets_avg)\n",
    "targets_avg = (targets_avg-np.mean(targets_avg))/np.std(targets_avg)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data loading for model training\n",
    "\n",
    "### Training and test data splits\n",
    "\n",
    "This splits the dataset into data used to train the model and data used to test the trained model.\n",
    "The first five days of the dataset are used for training and the last two days are used for testing.\n",
    "The reader can change the `test_size` variable to experiment with the model's performance for different splits of training and test data.\n",
    "\n",
    "### Dictionary datasets\n",
    "The data is loaded into dictionary datasets by labeling the feature data as `X` and the target data as `Y`.\n",
    "Loading the data in this method allows for symbolic representation of the different datasets (i.e., feature and target data) in this problem.\n",
    "It also allows for a later visualization of how the different datasets are connected through the model.\n",
    "Different titles other than `X` and `Y` can be used for the datasets, but the user should make sure they are assigned in a consistent manner throughout the model (e.g., `X` always refers to the feature data and `Y` always refers to the target data)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 349,
   "metadata": {
    "metadata": {}
   },
   "outputs": [],
   "source": [
    "def get_splits(features, targets, bs, test_size=2/7):\n",
    "    \"\"\"\n",
    "    :param features: (float) features array\n",
    "    :param targets: (float) targets array\n",
    "    :param bs: (int) batch size\n",
    "    \"\"\"\n",
    "    features_train, features_test, targets_train, targets_test = train_test_split(features,\n",
    "                                                                              targets,\n",
    "                                                                              test_size = test_size,\n",
    "                                                                              shuffle=False) \n",
    "\n",
    "    # Create features and targets tensors for train set\n",
    "    featuresTrain = torch.from_numpy(features_train)\n",
    "    targetsTrain = torch.from_numpy(targets_train)\n",
    "\n",
    "    # Create features and targets tensors for test set\n",
    "    featuresTest = torch.from_numpy(features_test)\n",
    "    targetsTest = torch.from_numpy(targets_test)\n",
    "\n",
    "    train_data, dev_data = [{\"X\": featuresTrain, \"Y\": targetsTrain}, {\"X\": featuresTest, \"Y\": targetsTest}]\n",
    "\n",
    "    # Save test data array for plotting later\n",
    "    test_data = dev_data\n",
    "\n",
    "    # Load data into dictionary datasets and data loaders\n",
    "    train_data = DictDataset(train_data, name=\"train\")\n",
    "    train_loader = DataLoader(train_data, batch_size=bs, collate_fn=train_data.collate_fn, shuffle=True)\n",
    "    dev_data = DictDataset(dev_data, name=\"dev\")\n",
    "    dev_loader = DataLoader(dev_data, batch_size=bs, collate_fn=dev_data.collate_fn, shuffle=True)\n",
    "\n",
    "    return train_loader, dev_loader, test_data\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading data into mini-batches\n",
    "\n",
    "This step loads the data into [mini-batches](https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/) to be used during the training and evaluation process.\n",
    "The mini-batch size (`bs`) determines how many data points are used for each individual iteration during the model training before computing the loss and updating the model weights.\n",
    "The reader can test the model performance by adjusting the `bs` parameter.\n",
    "Generally, a smaller batch size can improve the model's ability to learn more specific pattens in the data, but can require more computation and lead to [over-fitting](https://machinelearningmastery.com/overfitting-and-underfitting-with-machine-learning-algorithms/).\n",
    "Conversely, a larger batch size can speed up training and generalize broad trends in the data, but can lead to [under-fitting](https://machinelearningmastery.com/overfitting-and-underfitting-with-machine-learning-algorithms/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 350,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define batch size and import data loaders\n",
    "test_size = 2/7\n",
    "bs = 10 # minibatching batch size\n",
    "train_loader, dev_loader, dev_data = get_splits(features_avg, targets_avg, bs, test_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create MLP neural network model for load forecast prediction\n",
    "First, a [multilayer perceptron (MLP)](https://en.wikipedia.org/wiki/Multilayer_perceptron) model is trained to perform the load forecasting.\n",
    "The `input_size` and `output_size` are determined based on the number of inputs (features) and outputs (targets) for the model.\n",
    "Different hyperparameters of this network can be adjusted, such as the hidden size.\n",
    "Increasing the hidden size can improve the model accuracy, but can also increase computing time or result in over-fitting.\n",
    "Too small of a hidden size can result in underfitting and poor prediction accuracy.\n",
    "Other parts of the model can also be modified, such as the [non-linear activation function](https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6) (`nonlin`).\n",
    "The MLP model is symbollically defined to take the features (`X`) as an input and output the predicted target load profile (`y`).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 351,
   "metadata": {
    "metadata": {}
   },
   "outputs": [],
   "source": [
    "# define network architecture\n",
    "input_size = len(features_avg[0]) \n",
    "output_size = len(targets_avg[0])\n",
    "hidden_size = 40 # hidden size of MLP\n",
    "\n",
    "# create MLP model\n",
    "mlp = blocks.MLP(input_size, output_size, bias=True, linear_map=torch.nn.Linear, nonlin = torch.nn.ReLU, hsizes=[hidden_size,hidden_size])\n",
    "modelMLP = mlp.to(torch.float64)\n",
    "model_sym = Node(modelMLP, ['X'], ['y'], name='model')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define loss and constraints\n",
    "Reference tracking loss is used for this problem, which compares the square of the difference between the model output and actual data for a given trajectory.\n",
    "This case does not include any constraints, but possible constraints for load forecasting include enforcing values greater than zero (negative values do not have a physical meaning in this scenario) and maximum values less than the maxiumum capacity of the HVAC system (based on rated capacity of fans, compressors, reheat coils, etc.)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 352,
   "metadata": {
    "metadata": {}
   },
   "outputs": [],
   "source": [
    "# define symbolic variables\n",
    "y = variable(\"Y\") # actual output\n",
    "yhat = variable('y') # predicted output\n",
    "\n",
    "# trajectory tracking loss\n",
    "reference_loss = (yhat == y)^2\n",
    "reference_loss.name = \"ref_loss\"\n",
    "\n",
    "# objectives and constraints\n",
    "objectives = [reference_loss]\n",
    "constraints = []\n",
    "\n",
    "# create constrained optimization loss\n",
    "loss = PenaltyLoss(objectives, constraints)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define optimizer and logger\n",
    "The optimizer in this problem is defined using the [Adam](https://machinelearningmastery.com/adam-optimization-algorithm-for-deep-learning/) optimizer, but the user can explore the use of [other optimizers](https://pytorch.org/docs/stable/optim.html).\n",
    "The learning rate (lr) in the optimizer can be adjusted based on the training performance for a specific problem.\n",
    "Generally, a smaller learning rate can take more time to converge to an optimal solution, but can also improve the ability for the model to converge and avoid divergence during training.\n",
    "The logger is created to output the training and development loss during training [epochs](https://www.geeksforgeeks.org/epoch-in-machine-learning/) and save log files to a `test` directory."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 353,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "None\n"
     ]
    }
   ],
   "source": [
    "# create optimizer for model training\n",
    "optimizer = torch.optim.Adam(modelMLP.parameters(), lr=0.005)\n",
    "\n",
    "# define logger\n",
    "logger = BasicLogger(args=None, savedir='test', verbosity=1,\n",
    "                        stdout=['dev_loss', 'train_loss'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Define problem\n",
    "For this problem, the only node comes from the load forecast model.\n",
    "The problem is defined and visualized using the node and loss functions.\n",
    "This shows that the model takes the features (`X`) as an input and outputs predicted targets (`y`), which are compared with the actual targets from the dataset (`Y`) to compuute the loss (`ref_loss`) and train the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 354,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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qmRnZ5OamkpKSgp79+5l7969pKenYzAYiIuL4/7772fAgAF06tSpxV3s6xscQEVGXdv8zi647gNbsa4WthsB8PT0ZNiwYQwbNgyLxcLevXvZvHkzW7du5fPPP0dRFCIjI+nRowfdunWjQ4cOREZG4unpSWpqKrt27UJVVQ4lH+Of//ciO3cfYOaMK+naJaphPTO2oN+LOEdVVTIyMkhOTiY7O5u4uDg6dOiAwWCocfrCwkJOnDiBoih07dq1iVPc+rmiP7CW4iIMEBwIDs5O1pysVisnT57k0KFDHDx4kH379pGamkpZWRkBAQH07NmTG264gYSEBEJDQx2uh24aVXOLhma0VeevaGjj2EKrlwI09MC2nJxQr9fTq1cvevXqxc0338yxY8fYuXMnO3fuZPPmzfz2228YjUaio6Pp2rUrBw8etHeCpaqQkXmG9z78H/sPHOH22dcxauQgvDzr2WV2y9glohJVVUlOTua9996jS5cuHD9+nAMHDjB69Gj69et3wXmKi4uZP38+P/zwAwkJCTz33HNNnOrWp+VcEVyvBQQITdSDXmN1+e9CpaWlpKSksGPHDnbs2MGBAwcoKirCy8uLzp07M23aNGJiYoiOjiYoKKjZgwIF9Wzx/wW+abTieeeKflyfhtqqOmr5qpHPOZ1OR0xMDDExMVx22WWkp6eTnJzMoUOH2LVrFz///DNJSUnV5issLGLJstWkHE/jhr9M5eYbpxMcHNBSfyKtQwu5xqiqyvz585k/fz779+9HVVX27t1b62OyGo0Gm83GokWLGjaUeAvUWIelBRzqRtMCAoQm6kGvhXbEZ7FYSE5OZv369WzatInk5GT0ej0dOnRg1KhRxMXFERERQUREBL6+vi2q+kCjseFpMGFwk74vALSaGh6pauJDVnH+dOjQgZEjR3L69Gk2bNjAokWLsNls1aa3Wm3s2n2A/77xCdt37OXRh+6gR3wXGQu+vlrIT1RVVT788EMURcHz7PPvAwYMqHUed3f3GksXWrsWclgapKFDkTirBQQIjm5OQze7hYT1lFcf/Pnnn6xevZo1a9aQkpKCj48Pffr04Y477qBr164EBwcTEBCAwWBoUUFBZYoCep0FPZbmToqogVarJTQ0lPT09DrPo4zM0/y0cAV79x7koX/czvWhfdG00HPvYpKfn8++fftYsGABDz/8MHPmzCEyMpLrrruO0tJS9uzZw5w5czCbzVx77bWMGjWKqVOnkpeXR0pKCm5ubgwePJhhw4bxyiuv1CsNZrOZ7du38/TTT5Ofn88jjzzCyJEjq/TouXfvXt544w1iYmK45ppruO+++5g7dy7e3t6Ulpby8ccfs3LlSh544AGSk5PRarXMmDHDRXvp4tDUteMtIEBwrqe8xl9P4zCbzWzatImlS5eycuVK0tPTiYyMZOTIkdx5553Ex8fj5eWFp6dnrY+qtTgtJ+5ykpMJb7XbWe6HH36gtLS0zumKi0vYtecg9/7j3zzv5cfOdz5x+kkY4VpvvPEGn3zyCZmZmVxxxRUkJiby+++/Y7FYWLduHWvWrOH666/HYrHwxBNPoNVqeffdd7HZbHTp0oXAwEDmzZuHh0d9h2SHDz/8EIDXX3+dgoICXnvtNX799Veef/55vLy8OHz4MCkpKTz44IMYDAZWrFjB2rVrsVqt2Gw25s2bx6hRo5g4cSIZGRn8+OOPDBkyxFW7SDQS+eXbOZMDODatzWbl4PZt/Prqj2xevZLMzEwSEhKYOnUqU6ZMITY2Fr1ej16vd0kvhc2iFSa5nJMJb7XbCQUFBWzfvh1VVe11zLUxGNzJzsmjqNBMnrmIQO+a+2oXje/BBx/ko48+oqioiKioKPz9/RkyZAh5eXn88ssvWK1WBg8eDJRXKyxatIgXX3zR/lSKTqejc+fO9V7/wYMHmT9/Pk888QRdunRBURRuueUWrr32WqZMmcKECRPYunUrGzZsYOTIkRiNRqZMmVL+uDTlj2Y/8sgj7Nmzh8DAQEJDQ0lMTGzwfmnpWso9RUM68pUAwc6ZQ+nYtIqiYf/2JAqPH+Ouu+5i6tSpREZGotFoWm9A0BAt5RfTmFrgNnp6enLHHXcQHh6OweCOt4cNT6MGTw8j3t5eGD0M+Hh54elpxMPDeK6HxdVp6DQt6emYi1Pl/iz8/f3t3XQfO3aM1atXs2PHDt5//30AysrKSEpK4l//+lfDHlutJCkpidTUVIKDg+3nRkJCAgUFBSxYsIAJEyYQFRXF66+/zj333MM///lPoqOjOXz4MDqdDpvNxpQpU+jVqxdz5sxh2LBhPProo23++tdStq4h6ZAAwc71JQiKonDZzXcxIfIh2nnq7J9dtC6GTW+B26goCs8888zZv9SznWAV1jht+WQqaOXy0JJlZ2ezdetW/v73v/Pf//63yrVFURTKXDQOwfr160lNTbUP/FbRLXhpaSnr1q0DIC4ujltvvZXXXnuNxMREZs2axVNPPUVISAgajYYHHniAM2fOcM011xAdHc0LL7zA+PHjXZK+lqql3Cs0pAShRTVUtlmtlJoLMZ3JbIa1u74EASp3uuPs4EOtRKsdnMvJhLfa7SxXcf4plJ+99r/PezU1m81GgdnMyTOnSTtzmsJic61VIKqqUmKxkG3Kx1xS0oQpbXn0ej3e3t5kZWWRmVl+zbTZbJhMJmw2m8uOZ2JiIuHh4Zw+fRqbzWYfCM5oNNobGSqKwuWXX87y5ct5/fXX2bhxI8899xzFxcVAeQ+t33zzDUuWLCEhIYHXXnuNP/74wyXpawqqqlJSVkaO2UyxxbFG2S3lat+QdLSoACHz6CH++Pojvv6/26oMU1wTm9VK6u5tDk3bEKqqYjblcfr4kUZdT6vUUn4FTrt42iC0VDabjZTMDD5buZQn5n7Mgx+9y7drV5FTYKpxnvyiIpYkbeT+D99m9c7tTZja5lNTSUDnzp259dZb+fPPP/nuu+9Yv349v/32GwsWLMBisVBUVASczdwcDKYqBn2r/H7QoEF07dqVvXv3UlhYXvKUlpZGu3btmDJlCgALFy7k4YcfRqfTMXv2bL7//ns2bdqExWKhrKyMhIQETpw4wcCBA3nnnXcYO3Yse/fubeiuaTL5JSUsP3SIR5YuZcPx482dnCbTosoQTx3aw68f/gdbmWMRWm5GGh/Ovpx/b0ht1HTZyso4tGEVe35bzF9enNOo6xIN0FLK9IRDCkuK+WzlErYmH+Trh/9FVl4uK3dspbC4mECfC3fmk1dYwHfr1jBv9QpGJ/Rp4hQ3jyVLllBQUD4uyqZNmxg6dCgAfn5+jBs3jg0bNvDkk0+i0+no1q0bb7/9NsuXL+fgwYMAFBYW8vnnn9OzZ097Y8aamM1mFi9eDMDhw4fZuXMn3bt3Z9asWWzatImvvvqK4OBgSkpKePjhh+nRo4d93pMnT9o74/L09OSJJ57AaDQC5UHOxo0bSUtLo7CwkAEDBtChQwfX7qhGlGs2s2DPHr7fvZtLoqObLR0XdT8IvSdN56cXHqK0SoBw4S4QrZZS9q5aUmeL7DoWU/dsqkpRfg6Hk9Y5PlNboOgB1zRyajKtIThQNKC0gJ9dC2AqKmLBhnXEhLfDy2jEy2jk1omX1jpPh5BQhvdMYN7qFU2UynpwcaB64MAB/vKXvwDlfQ1UBAg6nY4xY8YQGRnJ0qVLMRgMTJo0iY4dOzJv3jwKCwu55557ANi1axdAnQGCxWIhMzPTPt/Jkyfp06cPV199NT169OCbb75hz549zJw5k/j4ePt8Xbp04a9//SsdOnRg4cKFxMbGMmXKFPR6PVarlXvuuYeJEyeyevVqDh06xPTp04mNjXV4H+Tl5bFq1SoURSE+Pp5OnTqh1WqdqkZpyGHp6O/PoA4d+H737nouwTXaYD8INR8Wm7WMvMx09q1ZhkarI27YJVWqC1RVxZyfy9Gtf3B811YCI6OIGTgSv7B2HNuxia0/f4VqLWPpm89g8PJh1M1/pzA3myNJv5O2fxchnbsQM2AE3sFhaDQaVFXl6NY/OJy0jh5jp6AoWjKPHiBh/DQALCXFZBzez/61y/ELb09U4mD8wtpxYN0K9v++HHcPL5a88W+6jRhPpz6DGn/XNSeNFygODAUsnKSAxq25E+FSBWYzKZkZ7Dx6mHGJ/Vi/dxdRoeEkREVTYinlwIlUFidtIMjHl+E9ehEb0Y5HP5tDbmEBO48epri0hIc/eZ/J/QcxsmfveqWhuLSUg2mpzFu1EoObniuHjKBLu0iMlYY4351ylJ83rmNIt570iY7l5e++4rmZswHIKyxkyZaNFBSbGdenP6v+3MboXn3oGBLmfGJcHKg++OCDNX7n5uZGfHx8lcwa4MUXX6zXunx9fXnrrbeqfW40GklMTKzx8cS+ffvSt29fgCqlClDeWdfLL78MwFVXXVWvdKWkpPDf//6XtLQ0evbsSY8ePejXrx+JiYlERkY6tAxnDoujwURJWRmHTp9m/q5dGHQ6LuvWjejAQIyVniDZm5HBLwcOMLhDB3qGh/PmunU8PnYsAHnFxaw4dIhii4VR0dGsOnyYMdHRtDvbHXZzF4o2QYBQ8+ad2LODQxtXY/T2JaBdB7KOJaParPbvS4oK2PjtJ5w6tJeovkM4snU9mUcPMuKmu/EJDiM3PRUVCI/tjt7oQVFeDn98PYfck6lE9uzLvjVLyTqWzIgb78LDL4BDG1ahNxgJje5KWWkpe35bTP7pUySMn4alpJg9vy6ixFxIYIfOlBSa+OnFh7nisVfx9A8iPzOdyJ79CO/SHU//wJo3VwVqHZ64ldC4AW0rIxN1qOdp++7iH1m8eSOn83PpFtmR03l55BUW0rV9JMu3JZGalUlkUAgFxWbu++At3r3rfhKiosnKywXA18OLhKhogn396p30OUsX4mkwkhDVmWxTPh8vW0y/LnFcO2IM7no9u48dISs/j9iISLyNHiza/Aev/vA1z82cTWGxmY379+Dv5Y2/lw/7jh/j3cUL6NIusn4BgnC54uJiLBYLR44c4fDhw/zyyy9ER0fToUMH4uPjGTNmDAMGDCA4ONgl63P0Z/DJli14u7sTHxpKjtnM3O3b6deuHdO6d8dNp2PPqVNkm83EBAbi5ebG0gMHeHvDBh4fO5aC0lK2nDiBv9GIxsODfZmZfJSURHxoqD1AaO5cpNnKOgtzzrBr5c8oioYB02/CKyCYvMyTKJpz7SZtZWUU5pwhPK4n/a+4kewTx9jy81ckjJtKh4R+aLRaFBR6TZqOoijkZ6ZTnJ9L+x6J9L/iRlJ3bWXz93NJvPQaPPwCWPzak8x+/wc69RlEqbmIk/t3kX/6FADZJ1LY8vNXjJn9AJ0SB1FSWMCiVx7j0Ibf6Nx/OAD+4e3pPamOCFix/yNE61LP0/bSAUN45NMP8ffyIjwggCuGDKfEYiHtzGm+Wv0rlw4YwtXDR2EuLeHhTz7g503ruXfqVRw9lc79H75NZHAIN4weV+9k7z1+jDd//p5v/+8peneOpcBs5uPli/l42WL6RMfSs1Nnvv19Fb06xzBt8DAURUGn1dg3OCsvj/d/+YlP738EHw9P0s6cxsfDs97paanWr1/Po48+Wus0gYGB/PDDD02UIudUrk4oLS1l//797Nu3j7Vr17Jw4UIiIiIYPHgwl112Gb1792709OzPyuKDTZv48tpriQ8NpaC0lM+3beOL7dvpGRZGt5AQ5u/aRb/ISKbExaEoyrk+RoDMggLmbtvGm5dfjre7O2l5eXi5taybsmYLEPIyTnJiz3bix0zByz8IRVHwCQ5HUc7tQIOXD2Nu/Qc2q5WT+/8k8+hBik15WC0VXcZWvaJ5BgQz9vZ/YrNaOb5rC9lpKZjzc7CdbQXcvntv5tw2jcseep6OvfrTe9J0uo+aCEDq7q1kHT3I/H/dg86tvFjSWmZh7dx37AGCEKK6bpEdUQCNoiHY189+EVy46Q+2Jh9kza4dPP2/zwAoMBfxwjdfcu/U+hU1X8jSLZtJP3OG6PD2AHgaDCRGd+HF+fNYv3cXPTt1pmNIGC988yVZeblcNXQU8R2j2PnuJwAY9HosZVZue/M/PHbdjXRt34HPHvg/p3uQzDbls+23I1guOMJpJRo30PoCTdsJVWFhIVdeeWWt0+h0OpYsWdJEKXLcwYMHyc3NrfJZRXW02Wzm0KFDJCcns23bNubNm0fHjh0Z4u3NLfHxhHh6NsojvMsPHiTDZKJzQAAAHno9vcLCeGv9ejanptItJISO/v68smYNpwsLubxbN7qFhLDuzjsBMOh0mC0W7l+4kH+MGEFMYCAfTp9O4NmGnS1BswUIp48f5vjOLfS85HJ7qUHl6ApAc3Y44+2Lv0XRaPAOCq11mVqdjjKLhW0/f42Hnz8efgFVvh824y5++e+/mPfPm/EJiWDi356wBwjlpQkZ3PLed4THnqvPUxSFovzchm6uEK2XE1UPlX/DB04cJ/nkCT65/xEm96/aZseVF+z/rV5JYUkxukq9k/p7eZOZm0vSgf3cMXkqE/r2Z9exIzw97zMe+/wjHr/uRu6ddnX5tN7ezJ44hWe/msvIh+/lsgGDeWrGzVXaLzhi7/FjzHrlGfLNF+6E6pyK3iiEo6xWK5Y6+h9QVRWTyYTJZCItLY0kjYYBAQGMio5G1wgBwrc7d2IuK0N79rzTAL4GA5kFBew4eZKZffsyLjaWfVlZPL9qFU+vXMlDI0dyx8CBAAR4eDAjMZH/rF3L5E8/ZXLXrjwyahQGF/WA6QrNFiCoNhs2a/mdvaqqF7xglBQVsun7zzn+ZxJXP/M2az47v/FM1Ui9KD+XDd98TN6pE1z+8Isc37mlyveh0V2Z+cY8UndvZcM3H7P0rWfQubnRZcgYbDYrqColBSYM3j5oKvUiJwGCuKjV59qqlvdzYFNVCsxmvIxGDHoHik/r0Q5iUFx3dqccISsvlw7uZ28iFAgPCGRYfAIAEQFBvHLLndw68VI+Xv4Lj8/9CBSF+6ddjZtOz6UDhjCkWw8Wbd7Amz9/z3Nff8GzN80mIjDI4TQO6daDw3t/A30d3csoBtCHyNMsTkhKSuKhhx5i48aNNU6jKAparZaQkBAuv/xyrvH3J16rRdtIHYD1j4zkwOnTnC4sJMLHx56GCB8fBp59hDPCx4fnxo/n5sREvti+nX+vXIkC3DFoEO5aLZO7dmVwZCRLDhzgg02beHXtWh4fO5YQL69GSbOzmq2jpMgeifQYexm5p05gzs8t753Leq6BotVSSmHOaVa+/xI6d3c8fPzt36mo5QPPVGTiqoq1zELuyVTWfv4WeqMHBq9zxYOqWj79U8M7U1yYT6feA7n6328zfMad7FrxEwB9Jl9NWGw8e1cvIftECqVFhWSnpbD5+7kA9lIOm9VaHkyIZlFaWkpBQYH9VVRUVKUjmbKyMgoLC+3fO/wYrKi3CxaoKzCx30DG9u7Lyh1b2Xc8BZO5iJTMU7yz6Mfy3/vZImKVc+/rCg5UVbWvUD379+WDhuBlMHIw7YT9s/yiItoHBjG4W3cA7nnvdb79fTWx7SJ5dfZdbPzv+zz1ZXkVQ/LJNIY9eDcGvRs3j5vE4qdfJD37DMezMi6cCOXCW63RaHB30+Pu7ubgy11eDr7c3NwueBOpKAoeHh74+fkxfvx45s2bx+7du3n33XcZ0KMHbk4+ClnreVfx/uzfU+Li8NTrST5zpvwzwFRcTDsfH/q2awfA33/+mYX79hETFMRzEyaw8tZbeX7VKgAOnj7NpZ9+ikGn48bERObPmMHxvDzS8vMbnF5XabYAwTsolIi4nhzbsYkD61ZQcCaTE3u3o9HqMHj5sOrj13EzehIzcCQlhQWcPn6EsuJi3IwelBQUoNqsdB89GUWjcCb1KH8u/QGjjy9RiYMpNuVz+vgRrGVluBk9MJvyUVUboLLt5684nXqEwpwzhMbE0XtyeTFjWGx3gqNi2bt6Ca9NH8Jz47ozZ/ZUuo2agLuHF9EDRlBqLuLo1j/ISN7fXLvtovfZZ58RHR1NUFAQ/v7+jB8/vkqXrcuWLWPgwIGEhIQQExNDenp6M6b24rDn2BFUwKaqVXpBjIloR6+oaFbv3E7/+24n7PorGHT/nVw2cAipWZn8sbf82fwz+fnsOnoYk7moznWZzEWcOJ0FwImsTArMZoZ068l1I8cyZ9lCdh09TEpmBgfTjjN74mXERXYEyoeWWLE9ie2HD3LidBZuOh2vzr7bvtxTOTn8vGk9RzPSKbFYuHXipXQKDa8lJVJF0BwqSpt9fHwICgqiX79+PPvss2zZsoWlS5dyzTXX4O/vbw8KXFWVZSopIf1sxn0iL49Ci4XBkZFM79mTT7duZW9GBsdzczmSk8ONiYnEBp0refo1OZmd6emczM/HTavl2UpjUJwqKGDJwYOk5OZSWlbGzf36Eel74U7CmkMTlnFVLZfTG4wM+ctthHTuQtKP8zh5YDeDr7uVftNuoHP/YUT2SMTd6MmQ62aTtGAeuadOED9mCn7h7fENiwBgxE13c3L/To5sWUfP8dPQuxsYeNUs9q76hYLsLPpMvorwLvF4+pe3RQiPjSfxsr+w+7dF7F65kJGz/kbsoFEAuHt4Mu3RVzi4fiUb539KzMBRDJh+Iz5BYVgtpQy+9ha2LfwGFZWgjtHN/4DqRerWW29l9OjRPP/88+zYsYP33nuPnj172r+fMmUK7u7uLFu2jNtvv52IiIhmTO3F4fa3X6VXVDR6nY53Fy3gsetuBMDD3cC/bpjFsB4JvL/4J/rGdOX2yZfRLjCY/vfeBkDvzjHkFxUy67UXuHfa1cy6ZGKt69p59AiLNv9B784x/PDHWi7p04/B3eJ55qZbWLNrB7NeewEvowfPzZxN/9g4+3yRwcH0iorhVE42//zoPWZeMpFbJpR3E+yu1zO8RwK9O8fwxk/foVEU7pt2NWH+ATUlw3lyvWgQd3d3vL29iYyMpF27dkyYMIHLLruMxMTEJhlD5M/0dFYkJ9MzLIwf9+xhVOfOJLZrxxNjxvD7sWPcuWAB3u7uPDFmDL0rXXPa+/rSr317ThUU8Njy5czo3Zsbz/Yl4a7TMaRjR+JDQ3l3wwb0Wi13DRpEkGfLeYJGUes5kEF+fj6+vr7k5eXh4+NDgcXGuvQidpwpdnUandPCfoghRi3j23vR3qvlNDxp7VRVJTU1lZdffpng4GDuvfde/Pz8AMjMzOTHH3/khhtuwKuF1OO1KKqtfDRHtY67dVWFVSebJk1tybAwcKvj6QR7GwS5JjjKZDKxfPlyvL29GTp0KB4eHnUGBoX/+x9lhw41UQqbRn2zN7d+/XAfORLN2Wvi+fl3TVrUYE0u4ergoJWP4tcWKYpCREQE06dPZ+PGjXz//fcUFxdTUFBAUlISY8eOtfcBL4Ro/by9vZk+fTrjx4/Hs5EeW7yQ5rr817Tepr73lWa0dWlBpRHiHJ1Ox8CBA7n66qtZtGgRXbp0QVVVAgMDad++PVpt0z5jLhpu2bYk1u/ZWes0se0iuXHM+FqnaXYtrBRTOKfy4Wuuw1h5vc15OkmAIFotDw8PJk2axK5du3jkkUe4/vrrue666zAYDM2dtBalpKSEn3/+GTc3N4KCAgn0UQnwc8ff3xe9vuVcAgK8vImqtWEghPn51/p943DyEi3BQatWcfiaO86rWH8bH4vh4nZwxxZ2zv2d2Hah9O7dm4SEBLy8vJqsiKytCwkJITo6mtdff51Zs2bZ2yKIc9LT03n66acpLi7G09MDd70Gg0GPh4cRP18fQkODiAgPISQkkLDQIIKDAgkODiTMYsG9CTtt6d8ljv5d4uqesMnJb/Vi1NxHvbnXD40WILSU2Kv56dzcMRUU8O23a3j99dcxGo10796dfv360b9/f3r37o1vC3qspbXRarXoz2Zier1eqhYuICQkhDNnznDq1Klq3+m0Wtzc9BiMBowGd7Q6LVqNBr1ejw9ubHjtPXSO7tOW87MTQrhAIwUIzX2VaO71n9OxSzdmDOlBoNZKRkYGmzdvJikpiW+++YYXX3wRT09PEhISGD58OMOGDbOXMAjhKkajkT59+rBs2bJqHUeVWa2Uma0Umas/ffTMjbeg1TjRjrnl/OyEEC7QhqsYKm5naritaaK7Ha1Oh5eXF8FeeoKCgoiLi2PGjBlYrVYyMzNZu3Ytv//+O5999hlPP/00Xl5e9OrVi0GDBjFo0CAGDhxIQED157GliqL8ccfS0lJMpvLOefLz8ykpKamx17WLyflPLw8fPpxVq1ZRXFzzY8gajYKqqlwxbSL/eeER2h+yts79KCUZQrhE2+sHoQpnrxSuv7LU1A/C+bu9rKyMlJQUNm7cyPr169mwYQPJyclYrVZiYmIYMGAAAwYMYODAgcTGxqLX69FoNGgqDVDTKi/mDbBjxw6GDBli35cV279582Z69OjRnElrUhXbb7PZsNlsqKpKUVERBw4cYPPmzWzevJm1a9dy/PjxGpeh1+kIDw/huX//g6uvnISbmx5F+kFwnvSD0GK0xX4Q6qu+/SA0cwlCY4f6zi67pulrS2f9tuH8zFyv1xMTE0NMTAwzZswA4PTp02zbto0tW7awefNmXnrpJfuB7dWrF3369CEhIYH4+Hj8/PzQ6/XodDr7/+ePjtnW9O7dm6KiurvnbWusVitlZWWUlZVhsViwWCxkZWWxa9cutm/fzo4dO9i3bx+FhYUEBwfTq1cvbr/9dp555plqJQharRZvLw8uu3Qsjz9yNzHRHcvPm/rdNwgh2pBmDhBayx1vbelsvG0ICgpi/PjxjB8/3l6cfuDAAbZt28bWrVtZuXIlX375JSUlJYSGhtKpUyeioqLo0qULXbp0ITQ0FIPBgNFoxGAwYDAY0Lpo8BLR+CqOeUlJCcXFxfb/09PT2b9/P4cOHeLo0aMcOXKEM2fO4OHhQYcOHejTpw8333wzvXv3JioqCje38lEUFy1axIYNGwBQlPLua7vFxXDXbddzzVVT8PFxsu1LfWLjOmr+XL6+FkcCL9F6tOE2CG2Loii4u7uTkJBAQkICs2bNwmq1kpWVRXJyMgcPHiQ5OZnk5GTWr19PYWEhBoOB8PBwwsPD6dChAzExMQQHB+Pp6Wl/eXh44OHhgbu7uwQOzcRqtWI2mzGbzRQVFVUZjfLEiRMcO3aMkydPkpmZyalTpygpKcHT05P27dsTHx/PtGnT6NKlC9HR0QQGBta4njFjxpCUlITNZqNjhwjGjh7C3XfeSK+ecfU79vU5XRrSA01rPD2rBTWtcSNES9aYcXMbCBAacfdUWbQD62niOxytVktYWBhhYWEMGzasPAmqSn5+PseOHSMlJYWjR49y7Ngxtm7dyooVK1BVFQ8PDzw9PfHy8iIgIIDw8HCCgoLw8fHB29u7ysvDwwMvLy8peWiAipKAwsJCCgsLMZlMmEwm8vPzMZlM5OTkkJmZSUZGBvn5+fbgoLi4GIPBQGBgIOHh4cTHx9OxY0d7SZGz/WlccsklfPTRRyT27s5frp3CFZePx8vLoxG3XNS7tEQ0u+Y+bI6uvzHT2AYChEbcPc5G/i3gIqAoir2NQq9evYDyDKqgoIBTp06RmZlpf2VlZdnbOZhMJhRFsTd61Gg0eHp64uPjg7+/Pz4+PtVefn5++Pj44Ovri4eHR5tv83Ahqqpis9nsGX5eXh55eXn29yaTyf5Zxau4uNg+n81mK+9z4Ox+7tq1KyEhIYSGhhISEkJYWBhBQUEu6R2yX79+PPPMvxk5NJ4u0WEu2HpxYedd2lvAdUE4rzlju+YOTiq0gQBB1EVRFHuJQGxsrP1zVVUpLi4mNze3WiaWl5dHTk4OOTk5nDp1iiNHjtgbxFW8VFXFaDTi7e2Nj48PAQEB+Pr64ufnh7e3N76+vvj6+tqDCV9fXwwGQ6spiago+s/NzSU/P9++nyoy//z8fHJycuzfFxQUUFJSgkajwc3NDZ1OZ/+/orQmOjravo/O/9/HxwedTtdo+8fLy4tbZ892bDRH0QCt4/wWdWsJYzE0p4sjQGjqcKylhH91UBQFo9GI0WgkPLxqH/iqqmKxWDCbzRQXF1NUVFTtfUFBAdnZ2WRkZJCdnc2pU6dITk6216UXFRVRXFyMRqPBaDTi7u5uv1P29/fHz88PT09PvL297VUe3t7eeHl5VXkZjcYGl07YbDZ70X3Fy2Qy2d9XrvevCIyys7MpLCy0Nw6svL8q2m5UlLJERUURHByMv7+/vW1HxbQVjUQr3ut0Lf1n19ob0jnxA2wlv1XR9Jr71Gju9cPFEiA0xl6u7eg191F1AUVRcHNzw83NrcauoG02GxaLhdLS0iqvyqUMpaWl5ObmkpmZyenTp8nOziYvL4/09HSSk5MpLCzEbDZTWFhoDyi0Wi1arRadTmd/D+Dm5mYvand3d8fNzQ2NRoPBYMBms1FSUmLvA8BqtQJQUFBg7z2wrKzM/oig1VreCZDBYLBn9hWvimqTTp06ERAQQEhICMHBwXh5eeHm5oZer7e/KvZRxUuv17eaEpKaVRSutlYysJJouOY+NZp7/eDCAEGnAaOuJWxSE3FwU921GvSatrlfNBoN7u7uuLu71zhNRV271Wqt8iorK7PXwVd+WSyWanX5FZl8WVkZZrMZwP74n6qqlJSU2J/ygPJRHiuCCm9vb6C8QWdFdUdF1Yenp6e9v4jKr4qg5PxARVGUNpD5O6G1xwlN7SI6NVqFi7BNVE0UDw+UepRcuqwnRVVVsapglQ5WqtAoClql/H9RN1VV7T0DVryvfIrW9L6yypn4+e8rv87//qKg2hxrg6CqYJXfstO0SnknE+erXOIoPSk2CdVigfPGHrloabVQ6Um0Ju9JUVEUdAroJIwWDXDR3aW3VIoCLb1EsDEqaeu7zLrma+G7si1SmnCo8rZKymCEEK2Ts8OsuHqZlZcrAYBogyRAEEK0QedFBI5m4FKrIoSdBAhCiLahSuZeV0TgokhASg5EGyYBghDCBdRa/7zgZ45M48z6ncqsa5i44uMGxw+qi5YjRPORAEEI4QJnc9ba6uSVyhPUkKHXO4Oub8vCWhZ3wYCmroRVBAZK9WRJsCBaGQkQhBBCCFGNBAhCiPM4UhdQgzpv5B0c77lJ6vadTIPiyDOQFyg5cHB1QrQ0F0dXy0KIsxTQGMEm5d3NRmNA7s1EayABghAXG60PaL2aOxUXMQUJEERrIAGCEBcTRUEyKCGEI+QqIYQQQohqJEAQQgghRDUSIAghhBCiGgkQhBBCCFGNBAhCCCGEqEYCBCGEEEJUIwGCEEIIIaqRAEEIIYQQ1UiAIIQQQohqJEAQQgghRDUSIAghhBCimnqPxaCq5aPB5efnuywxQgghhGhcFfl2RT5ek3oHCCaTCYDIyMj6LkIIIYQQzcRkMuHr61vj94paVwhRA5vNxsmTJ/H29kZRlHonUAghhBBNR1VVTCYTERERaDQ1tzSod4AghBBCiLZLGikKIYQQohoJEIQQQghRjQQIQgghhKhGAgQhhBBCVCMBghBCCCGqkQBBCCGEENVIgCCEEEKIaiRAEEIIIUQ1EiAIIYQQohoJEIQQQghRjQQIQgghhKhGAgQhhBBCVPP/4saM8rmUEkAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# define problem and show network\n",
    "nodes = [model_sym]\n",
    "problem = Problem(nodes,loss)\n",
    "problem.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initialize Trainer\n",
    "The trainer is defined based on the problem and training parameters.\n",
    "Parameters such as the patience, warmup, and epochs determine minimum and maximum number of epochs for model training and can be tuned to improve the training performance.\n",
    "This trainer is also re-used later in this notebook when the MLP model is replaced with other model architechtures. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 355,
   "metadata": {
    "metadata": {}
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of parameters: 2121\n"
     ]
    }
   ],
   "source": [
    "def getTrainer(problem, train_loader, dev_loader, optimizer, logger):\n",
    "\n",
    "    trainer = Trainer(\n",
    "        problem,\n",
    "        train_loader,\n",
    "        dev_loader,\n",
    "        dev_loader,\n",
    "        optimizer,\n",
    "        patience=100,\n",
    "        warmup=200,\n",
    "        epochs=1000,\n",
    "        eval_metric=\"dev_loss\",\n",
    "        train_metric=\"train_loss\",\n",
    "        dev_metric=\"dev_loss\",\n",
    "        test_metric=\"dev_loss\",\n",
    "        logger=logger,\n",
    "    )\n",
    "\n",
    "    return trainer\n",
    "\n",
    "trainer = getTrainer(problem, train_loader, dev_loader, optimizer, logger)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training Loop\n",
    "This initializes the training process and saves the state of the best model based on the training.\n",
    "The reader can view how the training loss and development loss evolve during the process.\n",
    "The training loss should start at a higher value, then decrease over time before potentially oscillating near the optimal soluation.\n",
    "The development loss is calculated using the development data, but is not used to train the model.\n",
    "Thus, the development loss may exhibit behavior different than the training loss."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 356,
   "metadata": {
    "metadata": {}
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 0\ttrain_loss: 0.11777\tdev_loss: 0.34391\teltime:  8.36253\n",
      "epoch: 1\ttrain_loss: 0.14631\tdev_loss: 0.07250\teltime:  8.36620\n",
      "epoch: 2\ttrain_loss: 0.09389\tdev_loss: 0.05632\teltime:  8.39222\n",
      "epoch: 3\ttrain_loss: 0.04524\tdev_loss: 0.01570\teltime:  8.40546\n",
      "epoch: 4\ttrain_loss: 0.01480\tdev_loss: 0.23104\teltime:  8.41795\n",
      "epoch: 5\ttrain_loss: 0.03952\tdev_loss: 0.17806\teltime:  8.43151\n",
      "epoch: 6\ttrain_loss: 0.06155\tdev_loss: 0.14997\teltime:  8.44415\n",
      "epoch: 7\ttrain_loss: 0.02710\tdev_loss: 0.08301\teltime:  8.44800\n",
      "epoch: 8\ttrain_loss: 0.03195\tdev_loss: 0.03623\teltime:  8.46447\n",
      "epoch: 9\ttrain_loss: 0.02607\tdev_loss: 0.18450\teltime:  8.48105\n",
      "epoch: 10\ttrain_loss: 0.00713\tdev_loss: 0.01803\teltime:  8.48105\n",
      "epoch: 11\ttrain_loss: 0.02371\tdev_loss: 0.41404\teltime:  8.50001\n",
      "epoch: 12\ttrain_loss: 0.03161\tdev_loss: 0.05360\teltime:  8.51861\n",
      "epoch: 13\ttrain_loss: 0.00654\tdev_loss: 0.08383\teltime:  8.53105\n",
      "epoch: 14\ttrain_loss: 0.02782\tdev_loss: 0.30986\teltime:  8.54457\n",
      "epoch: 15\ttrain_loss: 0.06305\tdev_loss: 0.35443\teltime:  8.55631\n",
      "epoch: 16\ttrain_loss: 0.01857\tdev_loss: 0.05540\teltime:  8.56872\n",
      "epoch: 17\ttrain_loss: 0.00479\tdev_loss: 0.09190\teltime:  8.58046\n",
      "epoch: 18\ttrain_loss: 0.01818\tdev_loss: 0.10249\teltime:  8.59676\n",
      "epoch: 19\ttrain_loss: 0.00423\tdev_loss: 0.01818\teltime:  8.61063\n",
      "epoch: 20\ttrain_loss: 0.00800\tdev_loss: 0.06906\teltime:  8.61676\n",
      "epoch: 21\ttrain_loss: 0.02160\tdev_loss: 0.14702\teltime:  8.63277\n",
      "epoch: 22\ttrain_loss: 0.00947\tdev_loss: 0.01091\teltime:  8.65035\n",
      "epoch: 23\ttrain_loss: 0.04093\tdev_loss: 0.15446\teltime:  8.66910\n",
      "epoch: 24\ttrain_loss: 0.01996\tdev_loss: 0.09219\teltime:  8.68379\n",
      "epoch: 25\ttrain_loss: 0.00949\tdev_loss: 0.11832\teltime:  8.69848\n",
      "epoch: 26\ttrain_loss: 0.01816\tdev_loss: 0.04830\teltime:  8.71154\n",
      "epoch: 27\ttrain_loss: 0.01038\tdev_loss: 0.03562\teltime:  8.71413\n",
      "epoch: 28\ttrain_loss: 0.00666\tdev_loss: 0.07449\teltime:  8.73665\n",
      "epoch: 29\ttrain_loss: 0.00981\tdev_loss: 0.30702\teltime:  8.74901\n",
      "epoch: 30\ttrain_loss: 0.01343\tdev_loss: 0.04923\teltime:  8.76097\n",
      "epoch: 31\ttrain_loss: 0.00500\tdev_loss: 0.04864\teltime:  8.76841\n",
      "epoch: 32\ttrain_loss: 0.00825\tdev_loss: 0.19351\teltime:  8.78803\n",
      "epoch: 33\ttrain_loss: 0.00762\tdev_loss: 0.43175\teltime:  8.80264\n",
      "epoch: 34\ttrain_loss: 0.00682\tdev_loss: 0.08207\teltime:  8.81648\n",
      "epoch: 35\ttrain_loss: 0.00248\tdev_loss: 0.02821\teltime:  8.82998\n",
      "epoch: 36\ttrain_loss: 0.01094\tdev_loss: 0.03345\teltime:  8.84125\n",
      "epoch: 37\ttrain_loss: 0.01511\tdev_loss: 0.21531\teltime:  8.85172\n",
      "epoch: 38\ttrain_loss: 0.00752\tdev_loss: 0.04013\teltime:  8.86458\n",
      "epoch: 39\ttrain_loss: 0.00911\tdev_loss: 0.04604\teltime:  8.88082\n",
      "epoch: 40\ttrain_loss: 0.00882\tdev_loss: 0.06233\teltime:  8.89267\n",
      "epoch: 41\ttrain_loss: 0.01229\tdev_loss: 0.04007\teltime:  8.90597\n",
      "epoch: 42\ttrain_loss: 0.00393\tdev_loss: 0.04258\teltime:  8.91426\n",
      "epoch: 43\ttrain_loss: 0.00618\tdev_loss: 0.06096\teltime:  8.93130\n",
      "epoch: 44\ttrain_loss: 0.00460\tdev_loss: 0.32759\teltime:  8.95382\n",
      "epoch: 45\ttrain_loss: 0.00165\tdev_loss: 0.27800\teltime:  8.97173\n",
      "epoch: 46\ttrain_loss: 0.00307\tdev_loss: 0.09157\teltime:  8.98519\n",
      "epoch: 47\ttrain_loss: 0.00224\tdev_loss: 0.41221\teltime:  8.99986\n",
      "epoch: 48\ttrain_loss: 0.00615\tdev_loss: 0.19748\teltime:  9.01260\n",
      "epoch: 49\ttrain_loss: 0.00305\tdev_loss: 0.14910\teltime:  9.03737\n",
      "epoch: 50\ttrain_loss: 0.00344\tdev_loss: 0.07502\teltime:  9.04976\n",
      "epoch: 51\ttrain_loss: 0.00354\tdev_loss: 0.02056\teltime:  9.06494\n",
      "epoch: 52\ttrain_loss: 0.00499\tdev_loss: 0.07133\teltime:  9.08320\n",
      "epoch: 53\ttrain_loss: 0.00945\tdev_loss: 0.06724\teltime:  9.10327\n",
      "epoch: 54\ttrain_loss: 0.00649\tdev_loss: 0.17442\teltime:  9.12032\n",
      "epoch: 55\ttrain_loss: 0.00388\tdev_loss: 0.11180\teltime:  9.13322\n",
      "epoch: 56\ttrain_loss: 0.00267\tdev_loss: 0.07491\teltime:  9.14696\n",
      "epoch: 57\ttrain_loss: 0.00369\tdev_loss: 0.15318\teltime:  9.15054\n",
      "epoch: 58\ttrain_loss: 0.00598\tdev_loss: 0.07420\teltime:  9.16571\n",
      "epoch: 59\ttrain_loss: 0.00181\tdev_loss: 0.15650\teltime:  9.17960\n",
      "epoch: 60\ttrain_loss: 0.00278\tdev_loss: 0.07852\teltime:  9.19641\n",
      "epoch: 61\ttrain_loss: 0.00356\tdev_loss: 0.36103\teltime:  9.19641\n",
      "epoch: 62\ttrain_loss: 0.00244\tdev_loss: 0.01306\teltime:  9.21585\n",
      "epoch: 63\ttrain_loss: 0.00171\tdev_loss: 0.16739\teltime:  9.22975\n",
      "epoch: 64\ttrain_loss: 0.00153\tdev_loss: 0.06550\teltime:  9.26455\n",
      "epoch: 65\ttrain_loss: 0.00654\tdev_loss: 0.04321\teltime:  9.29630\n",
      "epoch: 66\ttrain_loss: 0.00073\tdev_loss: 0.10948\teltime:  9.31079\n",
      "epoch: 67\ttrain_loss: 0.00514\tdev_loss: 0.04265\teltime:  9.32400\n",
      "epoch: 68\ttrain_loss: 0.00460\tdev_loss: 0.05512\teltime:  9.33477\n",
      "epoch: 69\ttrain_loss: 0.00171\tdev_loss: 0.18684\teltime:  9.34660\n",
      "epoch: 70\ttrain_loss: 0.00056\tdev_loss: 0.03310\teltime:  9.35619\n",
      "epoch: 71\ttrain_loss: 0.00172\tdev_loss: 0.38732\teltime:  9.36555\n",
      "epoch: 72\ttrain_loss: 0.00768\tdev_loss: 0.04837\teltime:  9.38521\n",
      "epoch: 73\ttrain_loss: 0.00335\tdev_loss: 0.10155\teltime:  9.39890\n",
      "epoch: 74\ttrain_loss: 0.00198\tdev_loss: 0.32529\teltime:  9.41031\n",
      "epoch: 75\ttrain_loss: 0.00402\tdev_loss: 0.04701\teltime:  9.42047\n",
      "epoch: 76\ttrain_loss: 0.00043\tdev_loss: 0.06874\teltime:  9.43790\n",
      "epoch: 77\ttrain_loss: 0.00932\tdev_loss: 0.08814\teltime:  9.44869\n",
      "epoch: 78\ttrain_loss: 0.00269\tdev_loss: 0.14199\teltime:  9.46152\n",
      "epoch: 79\ttrain_loss: 0.00180\tdev_loss: 0.04928\teltime:  9.47197\n",
      "epoch: 80\ttrain_loss: 0.00169\tdev_loss: 0.15030\teltime:  9.47979\n",
      "epoch: 81\ttrain_loss: 0.00300\tdev_loss: 0.33150\teltime:  9.50025\n",
      "epoch: 82\ttrain_loss: 0.00284\tdev_loss: 0.08992\teltime:  9.51361\n",
      "epoch: 83\ttrain_loss: 0.00054\tdev_loss: 0.02490\teltime:  9.51680\n",
      "epoch: 84\ttrain_loss: 0.00160\tdev_loss: 0.45636\teltime:  9.53339\n",
      "epoch: 85\ttrain_loss: 0.00310\tdev_loss: 0.18244\teltime:  9.55162\n",
      "epoch: 86\ttrain_loss: 0.00141\tdev_loss: 0.37439\teltime:  9.56690\n",
      "epoch: 87\ttrain_loss: 0.00215\tdev_loss: 0.54387\teltime:  9.58335\n",
      "epoch: 88\ttrain_loss: 0.00310\tdev_loss: 0.10697\teltime:  9.59797\n",
      "epoch: 89\ttrain_loss: 0.00216\tdev_loss: 0.44789\teltime:  9.60000\n",
      "epoch: 90\ttrain_loss: 0.00147\tdev_loss: 0.17328\teltime:  9.61649\n",
      "epoch: 91\ttrain_loss: 0.00145\tdev_loss: 0.04426\teltime:  9.63333\n",
      "epoch: 92\ttrain_loss: 0.00207\tdev_loss: 0.12523\teltime:  9.64968\n",
      "epoch: 93\ttrain_loss: 0.00117\tdev_loss: 0.10229\teltime:  9.66252\n",
      "epoch: 94\ttrain_loss: 0.00099\tdev_loss: 0.06686\teltime:  9.67703\n",
      "epoch: 95\ttrain_loss: 0.00116\tdev_loss: 0.52287\teltime:  9.69072\n",
      "epoch: 96\ttrain_loss: 0.00073\tdev_loss: 0.14683\teltime:  9.70564\n",
      "epoch: 97\ttrain_loss: 0.00092\tdev_loss: 0.42089\teltime:  9.72022\n",
      "epoch: 98\ttrain_loss: 0.00208\tdev_loss: 0.11178\teltime:  9.73334\n",
      "epoch: 99\ttrain_loss: 0.00111\tdev_loss: 0.06490\teltime:  9.74580\n",
      "epoch: 100\ttrain_loss: 0.00075\tdev_loss: 0.04247\teltime:  9.75666\n",
      "epoch: 101\ttrain_loss: 0.00168\tdev_loss: 0.20587\teltime:  9.76673\n",
      "epoch: 102\ttrain_loss: 0.00160\tdev_loss: 0.04300\teltime:  9.78565\n",
      "epoch: 103\ttrain_loss: 0.00654\tdev_loss: 0.51286\teltime:  9.79884\n",
      "epoch: 104\ttrain_loss: 0.01878\tdev_loss: 0.29902\teltime:  9.81348\n",
      "epoch: 105\ttrain_loss: 0.03083\tdev_loss: 0.38356\teltime:  9.82649\n",
      "epoch: 106\ttrain_loss: 0.00394\tdev_loss: 0.09549\teltime:  9.83876\n",
      "epoch: 107\ttrain_loss: 0.01119\tdev_loss: 0.05108\teltime:  9.85420\n",
      "epoch: 108\ttrain_loss: 0.00156\tdev_loss: 0.11125\teltime:  9.86814\n",
      "epoch: 109\ttrain_loss: 0.00470\tdev_loss: 0.25027\teltime:  9.88484\n",
      "epoch: 110\ttrain_loss: 0.00545\tdev_loss: 0.05516\teltime:  9.89864\n",
      "epoch: 111\ttrain_loss: 0.00318\tdev_loss: 0.49846\teltime:  9.91237\n",
      "epoch: 112\ttrain_loss: 0.00301\tdev_loss: 0.31810\teltime:  9.91892\n",
      "epoch: 113\ttrain_loss: 0.00172\tdev_loss: 0.12838\teltime:  9.93908\n",
      "epoch: 114\ttrain_loss: 0.00153\tdev_loss: 0.07654\teltime:  9.95205\n",
      "epoch: 115\ttrain_loss: 0.00314\tdev_loss: 0.09091\teltime:  9.96628\n",
      "epoch: 116\ttrain_loss: 0.00209\tdev_loss: 0.04085\teltime:  9.97909\n",
      "epoch: 117\ttrain_loss: 0.00069\tdev_loss: 0.07195\teltime:  9.99218\n",
      "epoch: 118\ttrain_loss: 0.00075\tdev_loss: 0.08410\teltime:  10.00451\n",
      "epoch: 119\ttrain_loss: 0.00082\tdev_loss: 0.39028\teltime:  10.01708\n",
      "epoch: 120\ttrain_loss: 0.00048\tdev_loss: 0.11008\teltime:  10.03124\n",
      "epoch: 121\ttrain_loss: 0.00203\tdev_loss: 0.11033\teltime:  10.04396\n",
      "epoch: 122\ttrain_loss: 0.00138\tdev_loss: 0.52427\teltime:  10.05653\n",
      "epoch: 123\ttrain_loss: 0.00118\tdev_loss: 0.05130\teltime:  10.06652\n",
      "epoch: 124\ttrain_loss: 0.00363\tdev_loss: 0.07389\teltime:  10.08225\n",
      "epoch: 125\ttrain_loss: 0.00169\tdev_loss: 0.04745\teltime:  10.09566\n",
      "epoch: 126\ttrain_loss: 0.00168\tdev_loss: 0.20268\teltime:  10.10834\n",
      "epoch: 127\ttrain_loss: 0.00066\tdev_loss: 0.04794\teltime:  10.11828\n",
      "epoch: 128\ttrain_loss: 0.00158\tdev_loss: 0.04079\teltime:  10.14555\n",
      "epoch: 129\ttrain_loss: 0.00186\tdev_loss: 0.15494\teltime:  10.15877\n",
      "epoch: 130\ttrain_loss: 0.00551\tdev_loss: 0.43219\teltime:  10.17045\n",
      "epoch: 131\ttrain_loss: 0.00078\tdev_loss: 0.19387\teltime:  10.18406\n",
      "epoch: 132\ttrain_loss: 0.00220\tdev_loss: 0.05940\teltime:  10.20006\n",
      "epoch: 133\ttrain_loss: 0.00186\tdev_loss: 0.02715\teltime:  10.21242\n",
      "epoch: 134\ttrain_loss: 0.00084\tdev_loss: 0.20764\teltime:  10.22078\n",
      "epoch: 135\ttrain_loss: 0.00805\tdev_loss: 0.34278\teltime:  10.23345\n",
      "epoch: 136\ttrain_loss: 0.00035\tdev_loss: 0.17750\teltime:  10.25175\n",
      "epoch: 137\ttrain_loss: 0.00163\tdev_loss: 0.10466\teltime:  10.26746\n",
      "epoch: 138\ttrain_loss: 0.00066\tdev_loss: 0.13738\teltime:  10.28162\n",
      "epoch: 139\ttrain_loss: 0.00183\tdev_loss: 0.41764\teltime:  10.29770\n",
      "epoch: 140\ttrain_loss: 0.00061\tdev_loss: 0.08807\teltime:  10.30586\n",
      "epoch: 141\ttrain_loss: 0.00051\tdev_loss: 0.19208\teltime:  10.32559\n",
      "epoch: 142\ttrain_loss: 0.00135\tdev_loss: 0.15585\teltime:  10.34015\n",
      "epoch: 143\ttrain_loss: 0.00121\tdev_loss: 0.41956\teltime:  10.34926\n",
      "epoch: 144\ttrain_loss: 0.00119\tdev_loss: 0.03271\teltime:  10.36353\n",
      "epoch: 145\ttrain_loss: 0.00260\tdev_loss: 0.07568\teltime:  10.38279\n",
      "epoch: 146\ttrain_loss: 0.00152\tdev_loss: 0.09845\teltime:  10.39683\n",
      "epoch: 147\ttrain_loss: 0.00051\tdev_loss: 0.05088\teltime:  10.41764\n",
      "epoch: 148\ttrain_loss: 0.00029\tdev_loss: 0.15763\teltime:  10.42983\n",
      "epoch: 149\ttrain_loss: 0.00070\tdev_loss: 0.11237\teltime:  10.44645\n",
      "epoch: 150\ttrain_loss: 0.00253\tdev_loss: 0.34557\teltime:  10.46346\n",
      "epoch: 151\ttrain_loss: 0.00167\tdev_loss: 0.27459\teltime:  10.46614\n",
      "epoch: 152\ttrain_loss: 0.00135\tdev_loss: 0.29981\teltime:  10.48215\n",
      "epoch: 153\ttrain_loss: 0.00223\tdev_loss: 0.03621\teltime:  10.49644\n",
      "epoch: 154\ttrain_loss: 0.00195\tdev_loss: 0.40742\teltime:  10.51265\n",
      "epoch: 155\ttrain_loss: 0.00117\tdev_loss: 0.07101\teltime:  10.52074\n",
      "epoch: 156\ttrain_loss: 0.00207\tdev_loss: 0.02491\teltime:  10.53256\n",
      "epoch: 157\ttrain_loss: 0.00246\tdev_loss: 0.05612\teltime:  10.55118\n",
      "epoch: 158\ttrain_loss: 0.00183\tdev_loss: 0.05944\teltime:  10.56313\n",
      "epoch: 159\ttrain_loss: 0.00302\tdev_loss: 0.10773\teltime:  10.58113\n",
      "epoch: 160\ttrain_loss: 0.01215\tdev_loss: 0.03099\teltime:  10.59661\n",
      "epoch: 161\ttrain_loss: 0.00206\tdev_loss: 0.09046\teltime:  10.61309\n",
      "epoch: 162\ttrain_loss: 0.01157\tdev_loss: 0.27189\teltime:  10.61309\n",
      "epoch: 163\ttrain_loss: 0.01085\tdev_loss: 0.02818\teltime:  10.62986\n",
      "epoch: 164\ttrain_loss: 0.02366\tdev_loss: 0.11968\teltime:  10.64863\n",
      "epoch: 165\ttrain_loss: 0.00223\tdev_loss: 0.09249\teltime:  10.64863\n",
      "epoch: 166\ttrain_loss: 0.00934\tdev_loss: 0.36144\teltime:  10.66884\n",
      "epoch: 167\ttrain_loss: 0.00542\tdev_loss: 0.02847\teltime:  10.68651\n",
      "epoch: 168\ttrain_loss: 0.00831\tdev_loss: 0.08526\teltime:  10.69656\n",
      "epoch: 169\ttrain_loss: 0.00806\tdev_loss: 0.28793\teltime:  10.69656\n",
      "epoch: 170\ttrain_loss: 0.00144\tdev_loss: 0.09167\teltime:  10.71316\n",
      "epoch: 171\ttrain_loss: 0.00128\tdev_loss: 0.06011\teltime:  10.72986\n",
      "epoch: 172\ttrain_loss: 0.00162\tdev_loss: 0.13134\teltime:  10.74629\n",
      "epoch: 173\ttrain_loss: 0.00436\tdev_loss: 0.08942\teltime:  10.74629\n",
      "epoch: 174\ttrain_loss: 0.00243\tdev_loss: 0.37855\teltime:  10.76858\n",
      "epoch: 175\ttrain_loss: 0.00517\tdev_loss: 0.03757\teltime:  10.78435\n",
      "epoch: 176\ttrain_loss: 0.00448\tdev_loss: 0.00755\teltime:  10.79581\n",
      "epoch: 177\ttrain_loss: 0.00203\tdev_loss: 0.18495\teltime:  10.80756\n",
      "epoch: 178\ttrain_loss: 0.00242\tdev_loss: 0.30328\teltime:  10.82349\n",
      "epoch: 179\ttrain_loss: 0.00664\tdev_loss: 0.18302\teltime:  10.83784\n",
      "epoch: 180\ttrain_loss: 0.00254\tdev_loss: 0.05275\teltime:  10.84678\n",
      "epoch: 181\ttrain_loss: 0.00327\tdev_loss: 0.07088\teltime:  10.86329\n",
      "epoch: 182\ttrain_loss: 0.00647\tdev_loss: 0.06256\teltime:  10.87986\n",
      "epoch: 183\ttrain_loss: 0.00636\tdev_loss: 0.04132\teltime:  10.87986\n",
      "epoch: 184\ttrain_loss: 0.00448\tdev_loss: 0.11108\teltime:  10.90022\n",
      "epoch: 185\ttrain_loss: 0.00294\tdev_loss: 0.06476\teltime:  10.91340\n",
      "epoch: 186\ttrain_loss: 0.00240\tdev_loss: 0.35638\teltime:  10.92959\n",
      "epoch: 187\ttrain_loss: 0.00085\tdev_loss: 0.09864\teltime:  10.94805\n",
      "epoch: 188\ttrain_loss: 0.00296\tdev_loss: 0.04067\teltime:  10.96127\n",
      "epoch: 189\ttrain_loss: 0.00044\tdev_loss: 0.13901\teltime:  10.97478\n",
      "epoch: 190\ttrain_loss: 0.00136\tdev_loss: 0.06824\teltime:  10.98451\n",
      "epoch: 191\ttrain_loss: 0.00062\tdev_loss: 0.06866\teltime:  11.00156\n",
      "epoch: 192\ttrain_loss: 0.00036\tdev_loss: 0.06466\teltime:  11.01446\n",
      "epoch: 193\ttrain_loss: 0.00125\tdev_loss: 0.31497\teltime:  11.02907\n",
      "epoch: 194\ttrain_loss: 0.00119\tdev_loss: 0.19234\teltime:  11.02989\n",
      "epoch: 195\ttrain_loss: 0.00031\tdev_loss: 0.10933\teltime:  11.04626\n",
      "epoch: 196\ttrain_loss: 0.00116\tdev_loss: 0.18881\teltime:  11.06312\n",
      "epoch: 197\ttrain_loss: 0.00299\tdev_loss: 0.28578\teltime:  11.07952\n",
      "epoch: 198\ttrain_loss: 0.00166\tdev_loss: 0.10537\teltime:  11.09312\n",
      "epoch: 199\ttrain_loss: 0.00058\tdev_loss: 0.21355\teltime:  11.10306\n",
      "epoch: 200\ttrain_loss: 0.00104\tdev_loss: 0.05359\teltime:  11.11491\n",
      "epoch: 201\ttrain_loss: 0.00029\tdev_loss: 0.02054\teltime:  11.12941\n",
      "epoch: 202\ttrain_loss: 0.00035\tdev_loss: 0.04100\teltime:  11.12941\n",
      "epoch: 203\ttrain_loss: 0.00140\tdev_loss: 0.15475\teltime:  11.14646\n",
      "epoch: 204\ttrain_loss: 0.00036\tdev_loss: 0.03400\teltime:  11.16303\n",
      "epoch: 205\ttrain_loss: 0.00094\tdev_loss: 0.29014\teltime:  11.18089\n",
      "epoch: 206\ttrain_loss: 0.00023\tdev_loss: 0.18132\teltime:  11.18214\n",
      "epoch: 207\ttrain_loss: 0.00106\tdev_loss: 0.01687\teltime:  11.19653\n",
      "epoch: 208\ttrain_loss: 0.00040\tdev_loss: 0.05225\teltime:  11.22137\n",
      "epoch: 209\ttrain_loss: 0.00044\tdev_loss: 0.09401\teltime:  11.23417\n",
      "epoch: 210\ttrain_loss: 0.00205\tdev_loss: 0.01742\teltime:  11.24714\n",
      "epoch: 211\ttrain_loss: 0.00227\tdev_loss: 0.12938\teltime:  11.25996\n",
      "epoch: 212\ttrain_loss: 0.00129\tdev_loss: 0.11410\teltime:  11.26994\n",
      "epoch: 213\ttrain_loss: 0.00064\tdev_loss: 0.02441\teltime:  11.27954\n",
      "epoch: 214\ttrain_loss: 0.00154\tdev_loss: 0.20861\teltime:  11.29659\n",
      "epoch: 215\ttrain_loss: 0.00093\tdev_loss: 0.02497\teltime:  11.30788\n",
      "epoch: 216\ttrain_loss: 0.00165\tdev_loss: 0.08210\teltime:  11.31530\n",
      "epoch: 217\ttrain_loss: 0.00235\tdev_loss: 0.19018\teltime:  11.33014\n",
      "epoch: 218\ttrain_loss: 0.00322\tdev_loss: 0.08801\teltime:  11.34880\n",
      "epoch: 219\ttrain_loss: 0.00058\tdev_loss: 0.13350\teltime:  11.35833\n",
      "epoch: 220\ttrain_loss: 0.00107\tdev_loss: 0.07279\teltime:  11.37382\n",
      "epoch: 221\ttrain_loss: 0.00047\tdev_loss: 0.11872\teltime:  11.38368\n",
      "epoch: 222\ttrain_loss: 0.00242\tdev_loss: 0.07700\teltime:  11.39832\n",
      "epoch: 223\ttrain_loss: 0.00119\tdev_loss: 0.02967\teltime:  11.41225\n",
      "epoch: 224\ttrain_loss: 0.00091\tdev_loss: 0.08186\teltime:  11.42233\n",
      "epoch: 225\ttrain_loss: 0.00075\tdev_loss: 0.06986\teltime:  11.43440\n",
      "epoch: 226\ttrain_loss: 0.00049\tdev_loss: 0.14213\teltime:  11.44920\n",
      "epoch: 227\ttrain_loss: 0.00075\tdev_loss: 0.14665\teltime:  11.46274\n",
      "epoch: 228\ttrain_loss: 0.00085\tdev_loss: 0.06196\teltime:  11.47495\n",
      "epoch: 229\ttrain_loss: 0.00088\tdev_loss: 0.15252\teltime:  11.49014\n",
      "epoch: 230\ttrain_loss: 0.00117\tdev_loss: 0.05185\teltime:  11.50715\n",
      "epoch: 231\ttrain_loss: 0.00051\tdev_loss: 0.04705\teltime:  11.51944\n",
      "epoch: 232\ttrain_loss: 0.00222\tdev_loss: 0.13782\teltime:  11.52965\n",
      "epoch: 233\ttrain_loss: 0.00038\tdev_loss: 0.07191\teltime:  11.54634\n",
      "epoch: 234\ttrain_loss: 0.00126\tdev_loss: 0.04978\teltime:  11.55801\n",
      "epoch: 235\ttrain_loss: 0.00143\tdev_loss: 0.31220\teltime:  11.56869\n",
      "epoch: 236\ttrain_loss: 0.00183\tdev_loss: 0.33479\teltime:  11.57947\n",
      "epoch: 237\ttrain_loss: 0.00337\tdev_loss: 0.31345\teltime:  11.59797\n",
      "epoch: 238\ttrain_loss: 0.00197\tdev_loss: 0.35197\teltime:  11.61064\n",
      "epoch: 239\ttrain_loss: 0.00105\tdev_loss: 0.07394\teltime:  11.62310\n",
      "epoch: 240\ttrain_loss: 0.00191\tdev_loss: 0.05462\teltime:  11.63809\n",
      "epoch: 241\ttrain_loss: 0.00223\tdev_loss: 0.04509\teltime:  11.65196\n",
      "epoch: 242\ttrain_loss: 0.00696\tdev_loss: 0.08173\teltime:  11.66616\n",
      "epoch: 243\ttrain_loss: 0.00502\tdev_loss: 0.07937\teltime:  11.68130\n",
      "epoch: 244\ttrain_loss: 0.00186\tdev_loss: 0.04200\teltime:  11.69586\n",
      "epoch: 245\ttrain_loss: 0.00035\tdev_loss: 0.19536\teltime:  11.70481\n",
      "epoch: 246\ttrain_loss: 0.00149\tdev_loss: 0.07646\teltime:  11.72616\n",
      "epoch: 247\ttrain_loss: 0.00130\tdev_loss: 0.04495\teltime:  11.73431\n",
      "epoch: 248\ttrain_loss: 0.00126\tdev_loss: 0.17952\teltime:  11.75372\n",
      "epoch: 249\ttrain_loss: 0.00176\tdev_loss: 0.07176\teltime:  11.76477\n",
      "epoch: 250\ttrain_loss: 0.00088\tdev_loss: 0.12700\teltime:  11.77794\n",
      "epoch: 251\ttrain_loss: 0.00190\tdev_loss: 0.08848\teltime:  11.78754\n",
      "epoch: 252\ttrain_loss: 0.00146\tdev_loss: 0.03624\teltime:  11.79815\n",
      "epoch: 253\ttrain_loss: 0.00053\tdev_loss: 0.05372\teltime:  11.81310\n",
      "epoch: 254\ttrain_loss: 0.00062\tdev_loss: 0.02545\teltime:  11.81911\n",
      "epoch: 255\ttrain_loss: 0.00071\tdev_loss: 0.12248\teltime:  11.83811\n",
      "epoch: 256\ttrain_loss: 0.00032\tdev_loss: 0.21268\teltime:  11.85120\n",
      "epoch: 257\ttrain_loss: 0.00018\tdev_loss: 0.29616\teltime:  11.86563\n",
      "epoch: 258\ttrain_loss: 0.00091\tdev_loss: 0.06577\teltime:  11.86659\n",
      "epoch: 259\ttrain_loss: 0.00142\tdev_loss: 0.13740\teltime:  11.89155\n",
      "epoch: 260\ttrain_loss: 0.00066\tdev_loss: 0.05838\teltime:  11.90369\n",
      "epoch: 261\ttrain_loss: 0.00234\tdev_loss: 0.08318\teltime:  11.91319\n",
      "epoch: 262\ttrain_loss: 0.00336\tdev_loss: 0.30469\teltime:  11.92917\n",
      "epoch: 263\ttrain_loss: 0.00449\tdev_loss: 0.08717\teltime:  11.93007\n",
      "epoch: 264\ttrain_loss: 0.00239\tdev_loss: 0.07553\teltime:  11.94811\n",
      "epoch: 265\ttrain_loss: 0.01401\tdev_loss: 0.16167\teltime:  11.96348\n",
      "epoch: 266\ttrain_loss: 0.00386\tdev_loss: 0.25651\teltime:  11.97925\n",
      "epoch: 267\ttrain_loss: 0.00721\tdev_loss: 0.17537\teltime:  11.97999\n",
      "epoch: 268\ttrain_loss: 0.00141\tdev_loss: 0.33929\teltime:  11.99667\n",
      "epoch: 269\ttrain_loss: 0.00243\tdev_loss: 0.06497\teltime:  12.01680\n",
      "epoch: 270\ttrain_loss: 0.00665\tdev_loss: 0.04334\teltime:  12.02930\n",
      "epoch: 271\ttrain_loss: 0.00624\tdev_loss: 0.03252\teltime:  12.03940\n",
      "epoch: 272\ttrain_loss: 0.01019\tdev_loss: 0.12393\teltime:  12.04818\n",
      "epoch: 273\ttrain_loss: 0.00807\tdev_loss: 0.10734\teltime:  12.07034\n",
      "epoch: 274\ttrain_loss: 0.01314\tdev_loss: 0.27313\teltime:  12.09325\n",
      "epoch: 275\ttrain_loss: 0.00727\tdev_loss: 0.15517\teltime:  12.10734\n",
      "epoch: 276\ttrain_loss: 0.00364\tdev_loss: 0.17679\teltime:  12.11611\n",
      "epoch: 277\ttrain_loss: 0.00069\tdev_loss: 0.42341\teltime:  12.12959\n",
      "epoch: 278\ttrain_loss: 0.00119\tdev_loss: 0.04911\teltime:  12.12959\n",
      "epoch: 279\ttrain_loss: 0.00339\tdev_loss: 0.13227\teltime:  12.15721\n",
      "epoch: 280\ttrain_loss: 0.00506\tdev_loss: 0.28908\teltime:  12.16934\n",
      "epoch: 281\ttrain_loss: 0.00121\tdev_loss: 0.05492\teltime:  12.17958\n",
      "epoch: 282\ttrain_loss: 0.02619\tdev_loss: 0.03213\teltime:  12.19684\n",
      "epoch: 283\ttrain_loss: 0.00197\tdev_loss: 0.09123\teltime:  12.19684\n",
      "epoch: 284\ttrain_loss: 0.00234\tdev_loss: 0.10641\teltime:  12.21283\n",
      "epoch: 285\ttrain_loss: 0.00499\tdev_loss: 0.09083\teltime:  12.23063\n",
      "epoch: 286\ttrain_loss: 0.00091\tdev_loss: 0.14714\teltime:  12.24641\n",
      "epoch: 287\ttrain_loss: 0.00163\tdev_loss: 0.02741\teltime:  12.25956\n",
      "epoch: 288\ttrain_loss: 0.00132\tdev_loss: 0.33777\teltime:  12.27032\n",
      "epoch: 289\ttrain_loss: 0.00083\tdev_loss: 0.39666\teltime:  12.28920\n",
      "epoch: 290\ttrain_loss: 0.00084\tdev_loss: 0.06667\teltime:  12.30175\n",
      "epoch: 291\ttrain_loss: 0.00105\tdev_loss: 0.43994\teltime:  12.31413\n",
      "epoch: 292\ttrain_loss: 0.00065\tdev_loss: 0.06544\teltime:  12.32438\n",
      "epoch: 293\ttrain_loss: 0.00034\tdev_loss: 0.08538\teltime:  12.33496\n",
      "epoch: 294\ttrain_loss: 0.00069\tdev_loss: 0.12500\teltime:  12.34644\n",
      "epoch: 295\ttrain_loss: 0.00033\tdev_loss: 0.37160\teltime:  12.36354\n",
      "epoch: 296\ttrain_loss: 0.00014\tdev_loss: 0.03777\teltime:  12.37491\n",
      "epoch: 297\ttrain_loss: 0.00052\tdev_loss: 0.11118\teltime:  12.38761\n",
      "epoch: 298\ttrain_loss: 0.00015\tdev_loss: 0.10727\teltime:  12.39818\n",
      "epoch: 299\ttrain_loss: 0.00103\tdev_loss: 0.19807\teltime:  12.41249\n",
      "epoch: 300\ttrain_loss: 0.00048\tdev_loss: 0.06933\teltime:  12.41637\n",
      "epoch: 301\ttrain_loss: 0.00108\tdev_loss: 0.05918\teltime:  12.43781\n",
      "Early stopping!!!\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "execution_count": 356,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_model_MLP = trainer.train()\n",
    "problem.load_state_dict(best_model_MLP)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot model outputs against test data\n",
    "The predictions of the trained MLP model can be compared against the actual values from the test data.\n",
    "Relevant metrics including mean square error (MSE) and mean absoluate error (MAE) are computed as well.\n",
    "The results show the MLP model can capture the general trends of the load profile from the test data, but struggles to accurately predict the peak value on the second day."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 357,
   "metadata": {
    "metadata": {}
   },
   "outputs": [
    {
     "data": {
      "image/png": "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qak0atSIWrVq0a9fPzZv3uydwfoZTz31FOeddx5RUVE0aNCAkSNHsnXrVrt95Px7jtdff53OnTtbCtf16tWLH374wbJdzn318tRTT2EwGBg/frxlnfwPagYidjzEZ599xvjx45k4cSIbNmwgKSmJoUOHsnv3bm8Pze84efIkXbp0YdasWQ63P/vss7z44ovMmjWLdevWER8fz+DBgy090YSqs2zZMu69915Wr17NokWLKC4uZsiQIZw8edKyj5x/z5GYmMjTTz/Nb7/9xm+//caAAQO47LLLLDdTOffVx7p163jrrbfo3Lmz3Xr5H9QQNMEjnH/++dpdd91lt+6ss87SHn/8cS+NKDAAtK+++sqybDabtfj4eO3pp5+2rMvPz9diYmK0N954wwsj9G9ycnI0QFu2bJmmaXL+vUHdunW1d955R859NXL8+HGtTZs22qJFi7S+fftq48aN0zRNvv81CbHseIDCwkLWr1/PkCFD7NYPGTKEVatWeWlUgUlmZibZ2dl2/4uwsDD69u0r/wsPcOzYMQBiY2MBOf/ViclkYu7cuZw8eZJevXrJua9G7r33Xi655BIGDRpkt17+BzUHaQTqAQ4dOoTJZKJhw4Z26xs2bEh2draXRhWY6Ofb0f9i165d3hiS36JpGg899BB9+vShY8eOgJz/6mDTpk306tWL/Px8ateuzVdffcXZZ59tuZnKufcsc+fOZf369fz2229ltsn3v+YgYseDGAwGu2VN08qsE6oH+V94nvvuu48///yTlStXltkm599ztGvXjo0bN3L06FG+/PJLxowZw7Jlyyzb5dx7jj179jBu3DgWLlxIeHh4ufvJ/8D7iBvLA9SrVw+j0VjGipOTk1NG4QueJT4+HkD+Fx7m/vvv55tvvmHJkiUkJiZa1sv59zyhoaG0bt2a7t2789RTT9GlSxdefvllOffVwPr168nJyaFbt24EBwcTHBzMsmXLeOWVVwgODracZ/kfeB8ROx4gNDSUbt26sWjRIrv1ixYtonfv3l4aVWDSokUL4uPj7f4XhYWFLFu2TP4XbkDTNO677z4yMjL43//+R4sWLey2y/mvfjRNo6CgQM59NTBw4EA2bdrExo0bLX/du3fn+uuvZ+PGjbRs2VL+BzUEcWN5iIceeogbb7yR7t2706tXL9566y12797NXXfd5e2h+R0nTpxgx44dluXMzEw2btxIbGwsTZs2Zfz48UyfPp02bdrQpk0bpk+fTkREBNddd50XR+0f3HvvvcyZM4evv/6aqKgoyxNsTEwMtWrVstQckfPvGZ588kmGDh1KkyZNOH78OHPnzmXp0qX8+OOPcu6rgaioKEt8mk5kZCRxcXGW9fI/qCF4LxHM/3n11Ve1Zs2aaaGhodq5555rSccV3MuSJUs0oMzfmDFjNE1T6Z+TJ0/W4uPjtbCwMO3CCy/UNm3a5N1B+wmOzjugvffee5Z95Px7jltvvdVyjalfv742cOBAbeHChZbtcu6rH9vUc02T/0FNwaBpmuYlnSUIgiAIguBxJGZHEARBEAS/RsSOIAiCIAh+jYgdQRAEQRD8GhE7giAIgiD4NSJ2BEEQBEHwa0TsCIIgCILg14jYEQRBEATBrxGxIwiCIAiCXyNiRxCEGkdqairnnHOO194/OTmZO+64w7Lcr18/xo8fX+7+BQUFNG3alPXr11fD6ARBcBURO4IgVCsGg6HCv5tvvpkJEybw888/e2V8Bw4c4OWXX+bJJ590+jVhYWFMmDCBxx57zIMjEwShqkgjUEEQqpWsrCzL/GeffUZKSgpbt261rKtVqxa1a9emdu3a3hge77777v/buZtfVtowDODXVIiPKp2W1kdEItVMUCmNYCcRsRAVISJNRLqQ7rCohI2ysLCwsBQhFqL+BonQVqQLu4YN8W1hQWxapOm8CznO29O+jnLqvCbXL+li5pln7me6unrPk6KlpQWVlZUpzXM4HHC73Tg6OoIkSelZHBF9CDs7RPSljEbj66egoACCICSc+/U11vDwMHp6ejA3NweDwYDCwkLMzMwgGo3C7XZDFEWUl5djZWUlrtb19TUGBgag1Wqh0+lgt9txdnb25vq8Xi+6u7sTzsdiMUxMTEAURRiNRng8nrhxnU6H1tZWbGxsfPSrIaI0Ydghom9he3sbNzc38Pl8WFhYgMfjQVdXF7RaLYLBIFwuF1wuFy4vLwEA4XAYbW1tUKvV8Pl8CAQCUKvV6OzsxPPzc9Ia9/f3CIVCsNlsCWNra2vIy8tDMBjE/Pw8ZmdnsbW1FXdNU1MT/H7/n394IvoUhh0i+hZEUcTi4iLMZjOcTifMZjPC4TCmpqZgMpkwOTmJrKws7O3tAXjp0KhUKiwvL6Ourg6SJGF1dRUXFxfY2dlJWuP8/ByyLKO0tDRhzGKxYHp6GiaTCUNDQ7DZbAn7isrKyn7bOSKir8c9O0T0LdTU1ECl+vn7zGAwoLa29vU4IyMDOp0Ot7e3AICDgwMcHx8jPz8/7j6Pj484OTlJWiMSiQAAsrOzE8YsFkvccUlJyWutH3JychAOh1N4KiL6Cgw7RPQtZGZmxh0LgpD0XCwWA/Cyx6axsRHr6+sJ9yoqKkpaQ6/XA3h5nfXrNW/V+uHu7u4/701Efw/DDhEpUkNDAzY3N1FcXAyNRvOuOVVVVdBoNDg8PER1dXXKNUOhEKxWa8rziCi9uGeHiBTJ4XBAr9fDbrfD7/fj9PQUu7u7GB0dxdXVVdI5KpUK7e3tCAQCH6rp9/vR0dHxmWUTURow7BCRIuXm5sLn86GiogK9vb2QJAlOpxORSOTNTs/IyAi8Xm/CK6rf2d/fx8PDA/r6+j67dCL6wwRZluW/vQgiov8LWZbR3NyMsbExDA4Ovntef38/rFZrSv+8TERfg50dIqJ/EQQBS0tLiEaj757z9PSE+vp6jI+Pp3FlRPRR7OwQERGRorGzQ0RERIrGsENERESKxrBDREREisawQ0RERIrGsENERESKxrBDREREisawQ0RERIrGsENERESKxrBDREREivYPabSJDKE3XDcAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE and MAE: 480.23339563219446 14.826025115635062\n"
     ]
    }
   ],
   "source": [
    "# generate predictions on test data from MLP model\n",
    "dev_data['name'] = 'test'\n",
    "with torch.no_grad():\n",
    "    test_outputs_MLP = problem(dev_data)\n",
    "\n",
    "# get time steps and index where test data begins\n",
    "time_steps = np.arange(len(test_outputs_MLP['test_y']))\n",
    "div = int((1-test_size)*len(targets_avg))\n",
    "\n",
    "# plot comparison\n",
    "plt.plot(time_steps, targets_avg[div:]*targ_std+targ_mean, label='Actual', marker='o', color='blue')\n",
    "plt.plot(time_steps, test_outputs_MLP['test_y']*targ_std+targ_mean, label='Predicted - MLP', marker='x', color='red')\n",
    "plt.xlabel('Time (h)')\n",
    "plt.ylabel('RTU Load (kWh)')\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.show()\n",
    "\n",
    "# compute mean square error and mean absolute error metrics\n",
    "print('MSE and MAE:', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std)))))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Repeat training process with RNN model\n",
    "\n",
    "Next, the MLP model is replaced with a [recurrent neural network (RNN)](https://en.wikipedia.org/wiki/Recurrent_neural_network) model and the training process is repeated.\n",
    "RNN models are often used for time series predictions like this load forecasting example.\n",
    "The same loss function is used and the same training and test data is reloaded.\n",
    "The nodes, problem, and optimizer need to be re-defined for the new model and loaded into the trainer using the `getTrainer` function from before."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 358,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of parameters: 5481\n"
     ]
    }
   ],
   "source": [
    "# define model and training parameters\n",
    "hidden_size = 40\n",
    "rnn = blocks.RNN(input_size, output_size, bias=True, linear_map=torch.nn.Linear, nonlin = torch.nn.ReLU, hsizes=[hidden_size,hidden_size])\n",
    "modelRNN = rnn.to(torch.float64)\n",
    "\n",
    "# create nodes and problem for training RNN model\n",
    "model_sym_RNN = Node(modelRNN, ['X'], ['y'], name='model')\n",
    "nodesRNN = [model_sym_RNN]\n",
    "problemRNN = Problem(nodesRNN,loss)\n",
    "optimizerRNN = torch.optim.Adam(modelRNN.parameters(), lr=0.005)\n",
    "\n",
    "# reload data\n",
    "train_loader, dev_loader, dev_data = get_splits(features_avg, targets_avg, bs)\n",
    "trainerRNN = getTrainer(problemRNN, train_loader, dev_loader, optimizerRNN, logger)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initialize training loop for RNN model\n",
    "The training process is then repeated for the RNN model and the best model is saved.\n",
    "The reader can compare the training and development loss for the RNN model vs the MLP model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 359,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 0\ttrain_loss: 0.22176\tdev_loss: 0.23865\teltime:  63.36337\n",
      "epoch: 1\ttrain_loss: 0.12477\tdev_loss: 0.11525\teltime:  63.38695\n",
      "epoch: 2\ttrain_loss: 0.03567\tdev_loss: 0.04467\teltime:  63.40827\n",
      "epoch: 3\ttrain_loss: 0.06197\tdev_loss: 0.19506\teltime:  63.42421\n",
      "epoch: 4\ttrain_loss: 0.02711\tdev_loss: 0.04795\teltime:  63.44362\n",
      "epoch: 5\ttrain_loss: 0.02534\tdev_loss: 0.36078\teltime:  63.46826\n",
      "epoch: 6\ttrain_loss: 0.00518\tdev_loss: 0.15818\teltime:  63.48508\n",
      "epoch: 7\ttrain_loss: 0.07145\tdev_loss: 0.11676\teltime:  63.50413\n",
      "epoch: 8\ttrain_loss: 0.03192\tdev_loss: 0.04151\teltime:  63.51960\n",
      "epoch: 9\ttrain_loss: 0.00267\tdev_loss: 0.02008\teltime:  63.54548\n",
      "epoch: 10\ttrain_loss: 0.02989\tdev_loss: 0.02139\teltime:  63.56007\n",
      "epoch: 11\ttrain_loss: 0.08581\tdev_loss: 0.50966\teltime:  63.58408\n",
      "epoch: 12\ttrain_loss: 0.10110\tdev_loss: 0.51017\teltime:  63.60283\n",
      "epoch: 13\ttrain_loss: 0.01833\tdev_loss: 0.12744\teltime:  63.61855\n",
      "epoch: 14\ttrain_loss: 0.07297\tdev_loss: 0.26949\teltime:  63.63409\n",
      "epoch: 15\ttrain_loss: 0.00762\tdev_loss: 0.21156\teltime:  63.66025\n",
      "epoch: 16\ttrain_loss: 0.04730\tdev_loss: 0.12375\teltime:  63.68329\n",
      "epoch: 17\ttrain_loss: 0.05123\tdev_loss: 0.03412\teltime:  63.70179\n",
      "epoch: 18\ttrain_loss: 0.02477\tdev_loss: 0.02667\teltime:  63.71977\n",
      "epoch: 19\ttrain_loss: 0.00247\tdev_loss: 0.20197\teltime:  63.73355\n",
      "epoch: 20\ttrain_loss: 0.00479\tdev_loss: 0.10086\teltime:  63.75039\n",
      "epoch: 21\ttrain_loss: 0.01759\tdev_loss: 0.06205\teltime:  63.77470\n",
      "epoch: 22\ttrain_loss: 0.01067\tdev_loss: 0.43463\teltime:  63.79184\n",
      "epoch: 23\ttrain_loss: 0.02035\tdev_loss: 0.09813\teltime:  63.82158\n",
      "epoch: 24\ttrain_loss: 0.01501\tdev_loss: 0.08462\teltime:  63.84244\n",
      "epoch: 25\ttrain_loss: 0.01310\tdev_loss: 0.04871\teltime:  63.87460\n",
      "epoch: 26\ttrain_loss: 0.02339\tdev_loss: 0.28872\teltime:  63.90608\n",
      "epoch: 27\ttrain_loss: 0.00822\tdev_loss: 0.07338\teltime:  63.92679\n",
      "epoch: 28\ttrain_loss: 0.03837\tdev_loss: 0.05868\teltime:  63.94975\n",
      "epoch: 29\ttrain_loss: 0.03579\tdev_loss: 0.04911\teltime:  63.97391\n",
      "epoch: 30\ttrain_loss: 0.01528\tdev_loss: 0.04041\teltime:  63.99453\n",
      "epoch: 31\ttrain_loss: 0.00996\tdev_loss: 0.43795\teltime:  64.02244\n",
      "epoch: 32\ttrain_loss: 0.01479\tdev_loss: 0.07500\teltime:  64.04394\n",
      "epoch: 33\ttrain_loss: 0.00449\tdev_loss: 0.05713\teltime:  64.06557\n",
      "epoch: 34\ttrain_loss: 0.01343\tdev_loss: 0.03775\teltime:  64.09271\n",
      "epoch: 35\ttrain_loss: 0.01600\tdev_loss: 0.06288\teltime:  64.11883\n",
      "epoch: 36\ttrain_loss: 0.01636\tdev_loss: 0.03374\teltime:  64.13748\n",
      "epoch: 37\ttrain_loss: 0.00964\tdev_loss: 0.09354\teltime:  64.15469\n",
      "epoch: 38\ttrain_loss: 0.00987\tdev_loss: 0.31134\teltime:  64.16890\n",
      "epoch: 39\ttrain_loss: 0.00500\tdev_loss: 0.06667\teltime:  64.18813\n",
      "epoch: 40\ttrain_loss: 0.00398\tdev_loss: 0.06481\teltime:  64.20725\n",
      "epoch: 41\ttrain_loss: 0.01159\tdev_loss: 0.05287\teltime:  64.22001\n",
      "epoch: 42\ttrain_loss: 0.00715\tdev_loss: 0.06561\teltime:  64.24548\n",
      "epoch: 43\ttrain_loss: 0.00984\tdev_loss: 0.11647\teltime:  64.27173\n",
      "epoch: 44\ttrain_loss: 0.00756\tdev_loss: 0.09930\teltime:  64.28724\n",
      "epoch: 45\ttrain_loss: 0.00416\tdev_loss: 0.03640\teltime:  64.30813\n",
      "epoch: 46\ttrain_loss: 0.00781\tdev_loss: 0.04868\teltime:  64.31954\n",
      "epoch: 47\ttrain_loss: 0.00818\tdev_loss: 0.04704\teltime:  64.35293\n",
      "epoch: 48\ttrain_loss: 0.00603\tdev_loss: 0.09972\teltime:  64.37242\n",
      "epoch: 49\ttrain_loss: 0.00300\tdev_loss: 0.05220\teltime:  64.39481\n",
      "epoch: 50\ttrain_loss: 0.01555\tdev_loss: 0.24997\teltime:  64.41445\n",
      "epoch: 51\ttrain_loss: 0.00681\tdev_loss: 0.07046\teltime:  64.43363\n",
      "epoch: 52\ttrain_loss: 0.00847\tdev_loss: 0.23669\teltime:  64.45050\n",
      "epoch: 53\ttrain_loss: 0.02301\tdev_loss: 0.01202\teltime:  64.47010\n",
      "epoch: 54\ttrain_loss: 0.00578\tdev_loss: 0.02741\teltime:  64.49568\n",
      "epoch: 55\ttrain_loss: 0.00566\tdev_loss: 0.09132\teltime:  64.50031\n",
      "epoch: 56\ttrain_loss: 0.01364\tdev_loss: 0.01663\teltime:  64.53309\n",
      "epoch: 57\ttrain_loss: 0.00999\tdev_loss: 0.17758\teltime:  64.55286\n",
      "epoch: 58\ttrain_loss: 0.00316\tdev_loss: 0.03829\teltime:  64.57462\n",
      "epoch: 59\ttrain_loss: 0.00389\tdev_loss: 0.03466\teltime:  64.59607\n",
      "epoch: 60\ttrain_loss: 0.01257\tdev_loss: 0.01989\teltime:  64.60539\n",
      "epoch: 61\ttrain_loss: 0.00279\tdev_loss: 0.05492\teltime:  64.63505\n",
      "epoch: 62\ttrain_loss: 0.00410\tdev_loss: 0.04703\teltime:  64.65518\n",
      "epoch: 63\ttrain_loss: 0.00328\tdev_loss: 0.04249\teltime:  64.67666\n",
      "epoch: 64\ttrain_loss: 0.00254\tdev_loss: 0.06600\teltime:  64.70044\n",
      "epoch: 65\ttrain_loss: 0.00568\tdev_loss: 0.23856\teltime:  64.72756\n",
      "epoch: 66\ttrain_loss: 0.00169\tdev_loss: 0.05279\teltime:  64.75081\n",
      "epoch: 67\ttrain_loss: 0.00574\tdev_loss: 0.03054\teltime:  64.77189\n",
      "epoch: 68\ttrain_loss: 0.00263\tdev_loss: 0.11313\teltime:  64.79191\n",
      "epoch: 69\ttrain_loss: 0.00488\tdev_loss: 0.04364\teltime:  64.80843\n",
      "epoch: 70\ttrain_loss: 0.00154\tdev_loss: 0.02482\teltime:  64.83389\n",
      "epoch: 71\ttrain_loss: 0.00152\tdev_loss: 0.03601\teltime:  64.85188\n",
      "epoch: 72\ttrain_loss: 0.00488\tdev_loss: 0.06879\teltime:  64.87070\n",
      "epoch: 73\ttrain_loss: 0.00318\tdev_loss: 0.04450\teltime:  64.88677\n",
      "epoch: 74\ttrain_loss: 0.00499\tdev_loss: 0.15497\teltime:  64.90352\n",
      "epoch: 75\ttrain_loss: 0.00398\tdev_loss: 0.04668\teltime:  64.92687\n",
      "epoch: 76\ttrain_loss: 0.00532\tdev_loss: 0.05463\teltime:  64.94458\n",
      "epoch: 77\ttrain_loss: 0.00132\tdev_loss: 0.23019\teltime:  64.96513\n",
      "epoch: 78\ttrain_loss: 0.00538\tdev_loss: 0.25138\teltime:  64.98379\n",
      "epoch: 79\ttrain_loss: 0.00519\tdev_loss: 0.24284\teltime:  65.00209\n",
      "epoch: 80\ttrain_loss: 0.00303\tdev_loss: 0.03673\teltime:  65.01725\n",
      "epoch: 81\ttrain_loss: 0.00235\tdev_loss: 0.04570\teltime:  65.03856\n",
      "epoch: 82\ttrain_loss: 0.00625\tdev_loss: 0.03077\teltime:  65.05724\n",
      "epoch: 83\ttrain_loss: 0.00442\tdev_loss: 0.34126\teltime:  65.07553\n",
      "epoch: 84\ttrain_loss: 0.00251\tdev_loss: 0.03300\teltime:  65.09344\n",
      "epoch: 85\ttrain_loss: 0.00268\tdev_loss: 0.08378\teltime:  65.11092\n",
      "epoch: 86\ttrain_loss: 0.00279\tdev_loss: 0.04472\teltime:  65.12973\n",
      "epoch: 87\ttrain_loss: 0.00307\tdev_loss: 0.05969\teltime:  65.14491\n",
      "epoch: 88\ttrain_loss: 0.00172\tdev_loss: 0.05341\teltime:  65.16707\n",
      "epoch: 89\ttrain_loss: 0.00398\tdev_loss: 0.03641\teltime:  65.18456\n",
      "epoch: 90\ttrain_loss: 0.00399\tdev_loss: 0.09136\teltime:  65.20589\n",
      "epoch: 91\ttrain_loss: 0.00415\tdev_loss: 0.08211\teltime:  65.22562\n",
      "epoch: 92\ttrain_loss: 0.00350\tdev_loss: 0.23035\teltime:  65.24593\n",
      "epoch: 93\ttrain_loss: 0.00254\tdev_loss: 0.12609\teltime:  65.26450\n",
      "epoch: 94\ttrain_loss: 0.00457\tdev_loss: 0.04823\teltime:  65.28362\n",
      "epoch: 95\ttrain_loss: 0.00441\tdev_loss: 0.07296\teltime:  65.30347\n",
      "epoch: 96\ttrain_loss: 0.01103\tdev_loss: 0.07270\teltime:  65.32168\n",
      "epoch: 97\ttrain_loss: 0.00547\tdev_loss: 0.06586\teltime:  65.33812\n",
      "epoch: 98\ttrain_loss: 0.00522\tdev_loss: 0.11124\teltime:  65.36926\n",
      "epoch: 99\ttrain_loss: 0.01809\tdev_loss: 0.11504\teltime:  65.39105\n",
      "epoch: 100\ttrain_loss: 0.00588\tdev_loss: 0.07904\teltime:  65.40719\n",
      "epoch: 101\ttrain_loss: 0.00370\tdev_loss: 0.03428\teltime:  65.42820\n",
      "epoch: 102\ttrain_loss: 0.00669\tdev_loss: 0.03004\teltime:  65.44798\n",
      "epoch: 103\ttrain_loss: 0.00365\tdev_loss: 0.03112\teltime:  65.46793\n",
      "epoch: 104\ttrain_loss: 0.00419\tdev_loss: 0.04710\teltime:  65.48799\n",
      "epoch: 105\ttrain_loss: 0.00292\tdev_loss: 0.05682\teltime:  65.50443\n",
      "epoch: 106\ttrain_loss: 0.00474\tdev_loss: 0.31690\teltime:  65.52179\n",
      "epoch: 107\ttrain_loss: 0.00450\tdev_loss: 0.23231\teltime:  65.54827\n",
      "epoch: 108\ttrain_loss: 0.00203\tdev_loss: 0.02252\teltime:  65.57697\n",
      "epoch: 109\ttrain_loss: 0.00250\tdev_loss: 0.04484\teltime:  65.59850\n",
      "epoch: 110\ttrain_loss: 0.00108\tdev_loss: 0.07617\teltime:  65.61878\n",
      "epoch: 111\ttrain_loss: 0.00247\tdev_loss: 0.08000\teltime:  65.64094\n",
      "epoch: 112\ttrain_loss: 0.00225\tdev_loss: 0.04638\teltime:  65.65832\n",
      "epoch: 113\ttrain_loss: 0.00111\tdev_loss: 0.07857\teltime:  65.67722\n",
      "epoch: 114\ttrain_loss: 0.00092\tdev_loss: 0.05892\teltime:  65.68729\n",
      "epoch: 115\ttrain_loss: 0.00180\tdev_loss: 0.05642\teltime:  65.71664\n",
      "epoch: 116\ttrain_loss: 0.00254\tdev_loss: 0.07829\teltime:  65.73652\n",
      "epoch: 117\ttrain_loss: 0.00063\tdev_loss: 0.07438\teltime:  65.76220\n",
      "epoch: 118\ttrain_loss: 0.00406\tdev_loss: 0.30831\teltime:  65.78348\n",
      "epoch: 119\ttrain_loss: 0.00170\tdev_loss: 0.09594\teltime:  65.80345\n",
      "epoch: 120\ttrain_loss: 0.00321\tdev_loss: 0.06241\teltime:  65.82349\n",
      "epoch: 121\ttrain_loss: 0.00363\tdev_loss: 0.08810\teltime:  65.84160\n",
      "epoch: 122\ttrain_loss: 0.00094\tdev_loss: 0.05581\teltime:  65.85491\n",
      "epoch: 123\ttrain_loss: 0.00668\tdev_loss: 0.03555\teltime:  65.87581\n",
      "epoch: 124\ttrain_loss: 0.00147\tdev_loss: 0.06183\teltime:  65.90185\n",
      "epoch: 125\ttrain_loss: 0.00268\tdev_loss: 0.05103\teltime:  65.92447\n",
      "epoch: 126\ttrain_loss: 0.00204\tdev_loss: 0.45805\teltime:  65.93888\n",
      "epoch: 127\ttrain_loss: 0.00231\tdev_loss: 0.10502\teltime:  65.95983\n",
      "epoch: 128\ttrain_loss: 0.00177\tdev_loss: 0.10178\teltime:  65.98792\n",
      "epoch: 129\ttrain_loss: 0.00129\tdev_loss: 0.09579\teltime:  66.00389\n",
      "epoch: 130\ttrain_loss: 0.00186\tdev_loss: 0.02588\teltime:  66.02101\n",
      "epoch: 131\ttrain_loss: 0.00621\tdev_loss: 0.12974\teltime:  66.04695\n",
      "epoch: 132\ttrain_loss: 0.00772\tdev_loss: 0.19594\teltime:  66.06437\n",
      "epoch: 133\ttrain_loss: 0.00474\tdev_loss: 0.19575\teltime:  66.07800\n",
      "epoch: 134\ttrain_loss: 0.00536\tdev_loss: 0.14315\teltime:  66.09375\n",
      "epoch: 135\ttrain_loss: 0.00502\tdev_loss: 0.02700\teltime:  66.10939\n",
      "epoch: 136\ttrain_loss: 0.00471\tdev_loss: 0.17726\teltime:  66.13731\n",
      "epoch: 137\ttrain_loss: 0.00325\tdev_loss: 0.12558\teltime:  66.15306\n",
      "epoch: 138\ttrain_loss: 0.00292\tdev_loss: 0.04912\teltime:  66.18092\n",
      "epoch: 139\ttrain_loss: 0.00211\tdev_loss: 0.07126\teltime:  66.20123\n",
      "epoch: 140\ttrain_loss: 0.00137\tdev_loss: 0.08369\teltime:  66.22178\n",
      "epoch: 141\ttrain_loss: 0.00040\tdev_loss: 0.10519\teltime:  66.23791\n",
      "epoch: 142\ttrain_loss: 0.00399\tdev_loss: 0.13443\teltime:  66.25357\n",
      "epoch: 143\ttrain_loss: 0.00057\tdev_loss: 0.08520\teltime:  66.26925\n",
      "epoch: 144\ttrain_loss: 0.00137\tdev_loss: 0.08630\teltime:  66.29415\n",
      "epoch: 145\ttrain_loss: 0.00569\tdev_loss: 0.05526\teltime:  66.31069\n",
      "epoch: 146\ttrain_loss: 0.00483\tdev_loss: 0.05734\teltime:  66.32997\n",
      "epoch: 147\ttrain_loss: 0.00296\tdev_loss: 0.06719\teltime:  66.33983\n",
      "epoch: 148\ttrain_loss: 0.02260\tdev_loss: 0.11617\teltime:  66.35559\n",
      "epoch: 149\ttrain_loss: 0.00468\tdev_loss: 0.26838\teltime:  66.38128\n",
      "epoch: 150\ttrain_loss: 0.00681\tdev_loss: 0.08215\teltime:  66.40201\n",
      "epoch: 151\ttrain_loss: 0.00185\tdev_loss: 0.39438\teltime:  66.41255\n",
      "epoch: 152\ttrain_loss: 0.00395\tdev_loss: 0.22556\teltime:  66.44386\n",
      "epoch: 153\ttrain_loss: 0.00686\tdev_loss: 0.10078\teltime:  66.46431\n",
      "epoch: 154\ttrain_loss: 0.00221\tdev_loss: 0.35883\teltime:  66.48289\n",
      "epoch: 155\ttrain_loss: 0.00273\tdev_loss: 0.03530\teltime:  66.50388\n",
      "epoch: 156\ttrain_loss: 0.00345\tdev_loss: 0.03321\teltime:  66.51653\n",
      "epoch: 157\ttrain_loss: 0.00110\tdev_loss: 0.03441\teltime:  66.53733\n",
      "epoch: 158\ttrain_loss: 0.00218\tdev_loss: 0.05863\teltime:  66.55823\n",
      "epoch: 159\ttrain_loss: 0.00171\tdev_loss: 0.09237\teltime:  66.58124\n",
      "epoch: 160\ttrain_loss: 0.00212\tdev_loss: 0.08158\teltime:  66.59981\n",
      "epoch: 161\ttrain_loss: 0.00414\tdev_loss: 0.07283\teltime:  66.61829\n",
      "epoch: 162\ttrain_loss: 0.00290\tdev_loss: 0.10376\teltime:  66.62841\n",
      "epoch: 163\ttrain_loss: 0.00143\tdev_loss: 0.43834\teltime:  66.65551\n",
      "epoch: 164\ttrain_loss: 0.00087\tdev_loss: 0.46109\teltime:  66.67126\n",
      "epoch: 165\ttrain_loss: 0.00226\tdev_loss: 0.07987\teltime:  66.68687\n",
      "epoch: 166\ttrain_loss: 0.00142\tdev_loss: 0.05144\teltime:  66.71577\n",
      "epoch: 167\ttrain_loss: 0.00239\tdev_loss: 0.08190\teltime:  66.73237\n",
      "epoch: 168\ttrain_loss: 0.00230\tdev_loss: 0.28516\teltime:  66.75196\n",
      "epoch: 169\ttrain_loss: 0.00070\tdev_loss: 0.05339\teltime:  66.77077\n",
      "epoch: 170\ttrain_loss: 0.00123\tdev_loss: 0.14361\teltime:  66.78351\n",
      "epoch: 171\ttrain_loss: 0.00065\tdev_loss: 0.02501\teltime:  66.80456\n",
      "epoch: 172\ttrain_loss: 0.00112\tdev_loss: 0.19902\teltime:  66.82348\n",
      "epoch: 173\ttrain_loss: 0.00055\tdev_loss: 0.06776\teltime:  66.84392\n",
      "epoch: 174\ttrain_loss: 0.00082\tdev_loss: 0.46443\teltime:  66.86677\n",
      "epoch: 175\ttrain_loss: 0.00271\tdev_loss: 0.21287\teltime:  66.88522\n",
      "epoch: 176\ttrain_loss: 0.00079\tdev_loss: 0.27085\teltime:  66.89805\n",
      "epoch: 177\ttrain_loss: 0.00080\tdev_loss: 0.10861\teltime:  66.91903\n",
      "epoch: 178\ttrain_loss: 0.00085\tdev_loss: 0.30278\teltime:  66.93786\n",
      "epoch: 179\ttrain_loss: 0.00219\tdev_loss: 0.23933\teltime:  66.95071\n",
      "epoch: 180\ttrain_loss: 0.00275\tdev_loss: 0.11754\teltime:  66.98169\n",
      "epoch: 181\ttrain_loss: 0.00080\tdev_loss: 0.34889\teltime:  66.99756\n",
      "epoch: 182\ttrain_loss: 0.00032\tdev_loss: 0.05326\teltime:  67.01273\n",
      "epoch: 183\ttrain_loss: 0.00096\tdev_loss: 0.05551\teltime:  67.03368\n",
      "epoch: 184\ttrain_loss: 0.00086\tdev_loss: 0.09938\teltime:  67.05490\n",
      "epoch: 185\ttrain_loss: 0.00243\tdev_loss: 0.05643\teltime:  67.07328\n",
      "epoch: 186\ttrain_loss: 0.00321\tdev_loss: 0.10017\teltime:  67.08329\n",
      "epoch: 187\ttrain_loss: 0.00246\tdev_loss: 0.23991\teltime:  67.10492\n",
      "epoch: 188\ttrain_loss: 0.00032\tdev_loss: 0.07152\teltime:  67.13548\n",
      "epoch: 189\ttrain_loss: 0.00483\tdev_loss: 0.06422\teltime:  67.13979\n",
      "epoch: 190\ttrain_loss: 0.00065\tdev_loss: 0.05800\teltime:  67.16651\n",
      "epoch: 191\ttrain_loss: 0.00037\tdev_loss: 0.07822\teltime:  67.19409\n",
      "epoch: 192\ttrain_loss: 0.00144\tdev_loss: 0.06961\teltime:  67.20694\n",
      "epoch: 193\ttrain_loss: 0.00182\tdev_loss: 0.01948\teltime:  67.23331\n",
      "epoch: 194\ttrain_loss: 0.00048\tdev_loss: 0.19978\teltime:  67.24673\n",
      "epoch: 195\ttrain_loss: 0.00137\tdev_loss: 0.55850\teltime:  67.26913\n",
      "epoch: 196\ttrain_loss: 0.00077\tdev_loss: 0.08799\teltime:  67.28982\n",
      "epoch: 197\ttrain_loss: 0.00463\tdev_loss: 0.30549\teltime:  67.31240\n",
      "epoch: 198\ttrain_loss: 0.00302\tdev_loss: 0.11096\teltime:  67.33142\n",
      "epoch: 199\ttrain_loss: 0.00305\tdev_loss: 0.06907\teltime:  67.34226\n",
      "epoch: 200\ttrain_loss: 0.00051\tdev_loss: 0.02941\teltime:  67.36314\n",
      "epoch: 201\ttrain_loss: 0.00193\tdev_loss: 0.04137\teltime:  67.38447\n",
      "epoch: 202\ttrain_loss: 0.00103\tdev_loss: 0.03809\teltime:  67.40467\n",
      "epoch: 203\ttrain_loss: 0.00333\tdev_loss: 0.09030\teltime:  67.42293\n",
      "epoch: 204\ttrain_loss: 0.00143\tdev_loss: 0.06821\teltime:  67.43536\n",
      "epoch: 205\ttrain_loss: 0.00110\tdev_loss: 0.06228\teltime:  67.45635\n",
      "epoch: 206\ttrain_loss: 0.00621\tdev_loss: 0.06216\teltime:  67.47697\n",
      "epoch: 207\ttrain_loss: 0.00336\tdev_loss: 0.08193\teltime:  67.49578\n",
      "epoch: 208\ttrain_loss: 0.00061\tdev_loss: 0.08794\teltime:  67.50566\n",
      "epoch: 209\ttrain_loss: 0.00173\tdev_loss: 0.05636\teltime:  67.53753\n",
      "epoch: 210\ttrain_loss: 0.00060\tdev_loss: 0.05650\teltime:  67.55033\n",
      "epoch: 211\ttrain_loss: 0.00092\tdev_loss: 0.10718\teltime:  67.56609\n",
      "epoch: 212\ttrain_loss: 0.00089\tdev_loss: 0.24378\teltime:  67.59733\n",
      "epoch: 213\ttrain_loss: 0.00026\tdev_loss: 0.13790\teltime:  67.60595\n",
      "epoch: 214\ttrain_loss: 0.00034\tdev_loss: 0.06483\teltime:  67.63734\n",
      "epoch: 215\ttrain_loss: 0.00103\tdev_loss: 0.09434\teltime:  67.65618\n",
      "epoch: 216\ttrain_loss: 0.00020\tdev_loss: 0.12367\teltime:  67.68000\n",
      "epoch: 217\ttrain_loss: 0.00035\tdev_loss: 0.12520\teltime:  67.68797\n",
      "epoch: 218\ttrain_loss: 0.00083\tdev_loss: 0.35338\teltime:  67.72005\n",
      "epoch: 219\ttrain_loss: 0.00041\tdev_loss: 0.23810\teltime:  67.73989\n",
      "epoch: 220\ttrain_loss: 0.00063\tdev_loss: 0.05535\teltime:  67.77229\n",
      "epoch: 221\ttrain_loss: 0.00078\tdev_loss: 0.32857\teltime:  67.79245\n",
      "epoch: 222\ttrain_loss: 0.00117\tdev_loss: 0.06905\teltime:  67.81118\n",
      "epoch: 223\ttrain_loss: 0.00174\tdev_loss: 0.05629\teltime:  67.82308\n",
      "epoch: 224\ttrain_loss: 0.00175\tdev_loss: 0.19808\teltime:  67.83886\n",
      "epoch: 225\ttrain_loss: 0.00093\tdev_loss: 0.12764\teltime:  67.85511\n",
      "epoch: 226\ttrain_loss: 0.00138\tdev_loss: 0.27201\teltime:  67.88051\n",
      "epoch: 227\ttrain_loss: 0.00150\tdev_loss: 0.17791\teltime:  67.89968\n",
      "epoch: 228\ttrain_loss: 0.00046\tdev_loss: 0.29339\teltime:  67.91258\n",
      "epoch: 229\ttrain_loss: 0.00073\tdev_loss: 0.11653\teltime:  67.93871\n",
      "epoch: 230\ttrain_loss: 0.00248\tdev_loss: 0.02113\teltime:  67.95738\n",
      "epoch: 231\ttrain_loss: 0.00083\tdev_loss: 0.05196\teltime:  67.97501\n",
      "epoch: 232\ttrain_loss: 0.00316\tdev_loss: 0.25814\teltime:  67.99468\n",
      "epoch: 233\ttrain_loss: 0.00095\tdev_loss: 0.03080\teltime:  68.01369\n",
      "epoch: 234\ttrain_loss: 0.00354\tdev_loss: 0.30228\teltime:  68.03483\n",
      "epoch: 235\ttrain_loss: 0.00349\tdev_loss: 0.09717\teltime:  68.05366\n",
      "epoch: 236\ttrain_loss: 0.00126\tdev_loss: 0.45744\teltime:  68.06988\n",
      "epoch: 237\ttrain_loss: 0.01443\tdev_loss: 0.09224\teltime:  68.09100\n",
      "epoch: 238\ttrain_loss: 0.00874\tdev_loss: 0.17688\teltime:  68.10792\n",
      "epoch: 239\ttrain_loss: 0.03350\tdev_loss: 0.02827\teltime:  68.12080\n",
      "epoch: 240\ttrain_loss: 0.01774\tdev_loss: 0.15083\teltime:  68.14197\n",
      "epoch: 241\ttrain_loss: 0.01446\tdev_loss: 0.16954\teltime:  68.16037\n",
      "epoch: 242\ttrain_loss: 0.01445\tdev_loss: 0.10423\teltime:  68.18341\n",
      "epoch: 243\ttrain_loss: 0.00386\tdev_loss: 0.11591\teltime:  68.20385\n",
      "epoch: 244\ttrain_loss: 0.00811\tdev_loss: 0.11378\teltime:  68.21902\n",
      "epoch: 245\ttrain_loss: 0.00393\tdev_loss: 0.19142\teltime:  68.23495\n",
      "epoch: 246\ttrain_loss: 0.00490\tdev_loss: 0.36487\teltime:  68.25070\n",
      "epoch: 247\ttrain_loss: 0.00040\tdev_loss: 0.02456\teltime:  68.27080\n",
      "epoch: 248\ttrain_loss: 0.00463\tdev_loss: 0.11917\teltime:  68.28655\n",
      "epoch: 249\ttrain_loss: 0.00571\tdev_loss: 0.05067\teltime:  68.30217\n",
      "epoch: 250\ttrain_loss: 0.00636\tdev_loss: 0.10467\teltime:  68.31780\n",
      "epoch: 251\ttrain_loss: 0.00186\tdev_loss: 0.07096\teltime:  68.34710\n",
      "epoch: 252\ttrain_loss: 0.00566\tdev_loss: 0.20254\teltime:  68.35817\n",
      "epoch: 253\ttrain_loss: 0.00365\tdev_loss: 0.08661\teltime:  68.38315\n",
      "epoch: 254\ttrain_loss: 0.00264\tdev_loss: 0.05690\teltime:  68.40357\n",
      "epoch: 255\ttrain_loss: 0.00284\tdev_loss: 0.36695\teltime:  68.41690\n",
      "epoch: 256\ttrain_loss: 0.00163\tdev_loss: 0.06800\teltime:  68.43257\n",
      "epoch: 257\ttrain_loss: 0.00097\tdev_loss: 0.32902\teltime:  68.44872\n",
      "epoch: 258\ttrain_loss: 0.00409\tdev_loss: 0.11328\teltime:  68.48000\n",
      "epoch: 259\ttrain_loss: 0.00133\tdev_loss: 0.08225\teltime:  68.49013\n",
      "epoch: 260\ttrain_loss: 0.00060\tdev_loss: 0.18704\teltime:  68.50589\n",
      "epoch: 261\ttrain_loss: 0.00111\tdev_loss: 0.06763\teltime:  68.52151\n",
      "epoch: 262\ttrain_loss: 0.00061\tdev_loss: 0.15759\teltime:  68.55305\n",
      "epoch: 263\ttrain_loss: 0.00185\tdev_loss: 0.07743\teltime:  68.56881\n",
      "epoch: 264\ttrain_loss: 0.00077\tdev_loss: 0.46911\teltime:  68.58420\n",
      "epoch: 265\ttrain_loss: 0.00105\tdev_loss: 0.29786\teltime:  68.60937\n",
      "epoch: 266\ttrain_loss: 0.00131\tdev_loss: 0.16772\teltime:  68.63322\n",
      "epoch: 267\ttrain_loss: 0.00036\tdev_loss: 0.33298\teltime:  68.65015\n",
      "epoch: 268\ttrain_loss: 0.00080\tdev_loss: 0.10893\teltime:  68.66587\n",
      "epoch: 269\ttrain_loss: 0.00357\tdev_loss: 0.03750\teltime:  68.68153\n",
      "epoch: 270\ttrain_loss: 0.00033\tdev_loss: 0.07363\teltime:  68.70764\n",
      "epoch: 271\ttrain_loss: 0.00036\tdev_loss: 0.18699\teltime:  68.72327\n",
      "epoch: 272\ttrain_loss: 0.00090\tdev_loss: 0.34084\teltime:  68.74952\n",
      "epoch: 273\ttrain_loss: 0.00086\tdev_loss: 0.09680\teltime:  68.77096\n",
      "epoch: 274\ttrain_loss: 0.00358\tdev_loss: 0.08701\teltime:  68.78673\n",
      "epoch: 275\ttrain_loss: 0.00119\tdev_loss: 0.09413\teltime:  68.80235\n",
      "epoch: 276\ttrain_loss: 0.00115\tdev_loss: 0.07669\teltime:  68.82372\n",
      "epoch: 277\ttrain_loss: 0.00403\tdev_loss: 0.00864\teltime:  68.85311\n",
      "epoch: 278\ttrain_loss: 0.00290\tdev_loss: 0.11287\teltime:  68.86687\n",
      "epoch: 279\ttrain_loss: 0.00426\tdev_loss: 0.01349\teltime:  68.88297\n",
      "epoch: 280\ttrain_loss: 0.00050\tdev_loss: 0.29503\teltime:  68.90921\n",
      "epoch: 281\ttrain_loss: 0.00557\tdev_loss: 0.05614\teltime:  68.92381\n",
      "epoch: 282\ttrain_loss: 0.00233\tdev_loss: 0.09507\teltime:  68.93639\n",
      "epoch: 283\ttrain_loss: 0.00776\tdev_loss: 0.07066\teltime:  68.95205\n",
      "epoch: 284\ttrain_loss: 0.00209\tdev_loss: 0.02780\teltime:  68.96768\n",
      "epoch: 285\ttrain_loss: 0.00391\tdev_loss: 0.07520\teltime:  68.99901\n",
      "epoch: 286\ttrain_loss: 0.00185\tdev_loss: 0.09557\teltime:  69.01601\n",
      "epoch: 287\ttrain_loss: 0.00151\tdev_loss: 0.34001\teltime:  69.04003\n",
      "epoch: 288\ttrain_loss: 0.00100\tdev_loss: 0.31925\teltime:  69.04490\n",
      "epoch: 289\ttrain_loss: 0.00312\tdev_loss: 0.20525\teltime:  69.07218\n",
      "epoch: 290\ttrain_loss: 0.00104\tdev_loss: 0.32293\teltime:  69.08368\n",
      "epoch: 291\ttrain_loss: 0.00091\tdev_loss: 0.14077\teltime:  69.10020\n",
      "epoch: 292\ttrain_loss: 0.00186\tdev_loss: 0.32536\teltime:  69.13314\n",
      "epoch: 293\ttrain_loss: 0.00092\tdev_loss: 0.32383\teltime:  69.14764\n",
      "epoch: 294\ttrain_loss: 0.00047\tdev_loss: 0.05614\teltime:  69.17060\n",
      "epoch: 295\ttrain_loss: 0.00168\tdev_loss: 0.02941\teltime:  69.18725\n",
      "epoch: 296\ttrain_loss: 0.00042\tdev_loss: 0.11601\teltime:  69.19980\n",
      "epoch: 297\ttrain_loss: 0.00075\tdev_loss: 0.08798\teltime:  69.22905\n",
      "epoch: 298\ttrain_loss: 0.00140\tdev_loss: 0.30996\teltime:  69.24991\n",
      "epoch: 299\ttrain_loss: 0.00039\tdev_loss: 0.08900\teltime:  69.25984\n",
      "epoch: 300\ttrain_loss: 0.00017\tdev_loss: 0.14980\teltime:  69.28736\n",
      "epoch: 301\ttrain_loss: 0.00072\tdev_loss: 0.16208\teltime:  69.30723\n",
      "epoch: 302\ttrain_loss: 0.00042\tdev_loss: 0.12022\teltime:  69.32453\n",
      "epoch: 303\ttrain_loss: 0.00024\tdev_loss: 0.05611\teltime:  69.33492\n",
      "epoch: 304\ttrain_loss: 0.00064\tdev_loss: 0.17230\teltime:  69.35576\n",
      "epoch: 305\ttrain_loss: 0.00190\tdev_loss: 0.03938\teltime:  69.37690\n",
      "epoch: 306\ttrain_loss: 0.00123\tdev_loss: 0.07489\teltime:  69.39592\n",
      "epoch: 307\ttrain_loss: 0.00022\tdev_loss: 0.20258\teltime:  69.40870\n",
      "epoch: 308\ttrain_loss: 0.00022\tdev_loss: 0.08811\teltime:  69.43224\n",
      "epoch: 309\ttrain_loss: 0.00045\tdev_loss: 0.08257\teltime:  69.45360\n",
      "epoch: 310\ttrain_loss: 0.00041\tdev_loss: 0.07408\teltime:  69.47013\n",
      "epoch: 311\ttrain_loss: 0.00058\tdev_loss: 0.37271\teltime:  69.48879\n",
      "epoch: 312\ttrain_loss: 0.00090\tdev_loss: 0.10724\teltime:  69.50661\n",
      "epoch: 313\ttrain_loss: 0.00064\tdev_loss: 0.19733\teltime:  69.51687\n",
      "epoch: 314\ttrain_loss: 0.00076\tdev_loss: 0.08921\teltime:  69.53262\n",
      "epoch: 315\ttrain_loss: 0.00133\tdev_loss: 0.20429\teltime:  69.56506\n",
      "epoch: 316\ttrain_loss: 0.00112\tdev_loss: 0.03973\teltime:  69.57792\n",
      "epoch: 317\ttrain_loss: 0.00102\tdev_loss: 0.10843\teltime:  69.59367\n",
      "epoch: 318\ttrain_loss: 0.00081\tdev_loss: 0.10404\teltime:  69.60930\n",
      "epoch: 319\ttrain_loss: 0.00082\tdev_loss: 0.10745\teltime:  69.62492\n",
      "epoch: 320\ttrain_loss: 0.00040\tdev_loss: 0.13175\teltime:  69.64055\n",
      "epoch: 321\ttrain_loss: 0.00078\tdev_loss: 0.06621\teltime:  69.66972\n",
      "epoch: 322\ttrain_loss: 0.00061\tdev_loss: 0.04287\teltime:  69.69128\n",
      "epoch: 323\ttrain_loss: 0.00028\tdev_loss: 0.33540\teltime:  69.71079\n",
      "epoch: 324\ttrain_loss: 0.00043\tdev_loss: 0.07327\teltime:  69.71996\n",
      "epoch: 325\ttrain_loss: 0.00103\tdev_loss: 0.04157\teltime:  69.73341\n",
      "epoch: 326\ttrain_loss: 0.00039\tdev_loss: 0.24561\teltime:  69.76479\n",
      "epoch: 327\ttrain_loss: 0.00084\tdev_loss: 0.03727\teltime:  69.76976\n",
      "epoch: 328\ttrain_loss: 0.00101\tdev_loss: 0.03278\teltime:  69.78550\n",
      "epoch: 329\ttrain_loss: 0.00069\tdev_loss: 0.08119\teltime:  69.81227\n",
      "epoch: 330\ttrain_loss: 0.00089\tdev_loss: 0.13929\teltime:  69.83299\n",
      "epoch: 331\ttrain_loss: 0.00338\tdev_loss: 0.06722\teltime:  69.85186\n",
      "epoch: 332\ttrain_loss: 0.00192\tdev_loss: 0.09204\teltime:  69.87267\n",
      "epoch: 333\ttrain_loss: 0.00126\tdev_loss: 0.09137\teltime:  69.88653\n",
      "epoch: 334\ttrain_loss: 0.00037\tdev_loss: 0.14244\teltime:  69.90597\n",
      "epoch: 335\ttrain_loss: 0.00164\tdev_loss: 0.33551\teltime:  69.92984\n",
      "epoch: 336\ttrain_loss: 0.00066\tdev_loss: 0.12661\teltime:  69.95009\n",
      "epoch: 337\ttrain_loss: 0.00065\tdev_loss: 0.12374\teltime:  69.96992\n",
      "epoch: 338\ttrain_loss: 0.00284\tdev_loss: 0.10832\teltime:  69.98868\n",
      "epoch: 339\ttrain_loss: 0.00113\tdev_loss: 0.11153\teltime:  70.00699\n",
      "epoch: 340\ttrain_loss: 0.00238\tdev_loss: 0.41376\teltime:  70.01974\n",
      "epoch: 341\ttrain_loss: 0.00072\tdev_loss: 0.38457\teltime:  70.04068\n",
      "epoch: 342\ttrain_loss: 0.00048\tdev_loss: 0.03093\teltime:  70.05939\n",
      "epoch: 343\ttrain_loss: 0.00084\tdev_loss: 0.04572\teltime:  70.07228\n",
      "epoch: 344\ttrain_loss: 0.00201\tdev_loss: 0.06999\teltime:  70.09320\n",
      "epoch: 345\ttrain_loss: 0.00065\tdev_loss: 0.25796\teltime:  70.11526\n",
      "epoch: 346\ttrain_loss: 0.00125\tdev_loss: 0.13372\teltime:  70.13275\n",
      "epoch: 347\ttrain_loss: 0.00383\tdev_loss: 0.07793\teltime:  70.15533\n",
      "epoch: 348\ttrain_loss: 0.00238\tdev_loss: 0.13920\teltime:  70.17656\n",
      "epoch: 349\ttrain_loss: 0.00178\tdev_loss: 0.03199\teltime:  70.19558\n",
      "epoch: 350\ttrain_loss: 0.00289\tdev_loss: 0.27182\teltime:  70.20620\n",
      "epoch: 351\ttrain_loss: 0.01086\tdev_loss: 0.38139\teltime:  70.22929\n",
      "epoch: 352\ttrain_loss: 0.00803\tdev_loss: 0.07312\teltime:  70.25171\n",
      "epoch: 353\ttrain_loss: 0.00693\tdev_loss: 0.10248\teltime:  70.26998\n",
      "epoch: 354\ttrain_loss: 0.00063\tdev_loss: 0.04739\teltime:  70.28896\n",
      "epoch: 355\ttrain_loss: 0.00110\tdev_loss: 0.08947\teltime:  70.30341\n",
      "epoch: 356\ttrain_loss: 0.00213\tdev_loss: 0.04959\teltime:  70.32299\n",
      "epoch: 357\ttrain_loss: 0.00253\tdev_loss: 0.29235\teltime:  70.34465\n",
      "epoch: 358\ttrain_loss: 0.00056\tdev_loss: 0.04604\teltime:  70.36235\n",
      "epoch: 359\ttrain_loss: 0.00238\tdev_loss: 0.02153\teltime:  70.38042\n",
      "epoch: 360\ttrain_loss: 0.00513\tdev_loss: 0.06193\teltime:  70.39577\n",
      "epoch: 361\ttrain_loss: 0.00261\tdev_loss: 0.05933\teltime:  70.41835\n",
      "epoch: 362\ttrain_loss: 0.00254\tdev_loss: 0.12529\teltime:  70.43577\n",
      "epoch: 363\ttrain_loss: 0.00175\tdev_loss: 0.13122\teltime:  70.44870\n",
      "epoch: 364\ttrain_loss: 0.00143\tdev_loss: 0.19708\teltime:  70.46766\n",
      "epoch: 365\ttrain_loss: 0.00079\tdev_loss: 0.08471\teltime:  70.48822\n",
      "epoch: 366\ttrain_loss: 0.00093\tdev_loss: 0.17523\teltime:  70.50702\n",
      "epoch: 367\ttrain_loss: 0.00105\tdev_loss: 0.06580\teltime:  70.52489\n",
      "epoch: 368\ttrain_loss: 0.00099\tdev_loss: 0.28322\teltime:  70.54004\n",
      "epoch: 369\ttrain_loss: 0.00052\tdev_loss: 0.07199\teltime:  70.57104\n",
      "epoch: 370\ttrain_loss: 0.00042\tdev_loss: 0.11644\teltime:  70.59184\n",
      "epoch: 371\ttrain_loss: 0.00041\tdev_loss: 0.02857\teltime:  70.60440\n",
      "epoch: 372\ttrain_loss: 0.00022\tdev_loss: 0.04955\teltime:  70.62562\n",
      "epoch: 373\ttrain_loss: 0.00045\tdev_loss: 0.07410\teltime:  70.64687\n",
      "epoch: 374\ttrain_loss: 0.00085\tdev_loss: 0.04859\teltime:  70.66681\n",
      "epoch: 375\ttrain_loss: 0.00149\tdev_loss: 0.06005\teltime:  70.67923\n",
      "epoch: 376\ttrain_loss: 0.00032\tdev_loss: 0.20986\teltime:  70.69941\n",
      "epoch: 377\ttrain_loss: 0.00035\tdev_loss: 0.03121\teltime:  70.72062\n",
      "epoch: 378\ttrain_loss: 0.00024\tdev_loss: 0.03826\teltime:  70.73962\n",
      "Early stopping!!!\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "execution_count": 359,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_model_RNN = trainerRNN.train()\n",
    "problemRNN.load_state_dict(best_model_RNN)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot comparison of MLP and RNN predictions against test data\n",
    "The predictions of the trained RNN model are compared against the actual values from the test data as well as the predictions from the MLP model.\n",
    "The results show the RNN model performs similarly to the MLP model and also struggles to capture the peak load value on the second day.\n",
    "The MSE and MAE results slightly favor the RNN model, but not significantly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 360,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE and MAE (MLP): 480.23339563219446 14.826025115635062\n",
      "MSE and MAE (RNN): 420.95199640714526 13.501880412150951\n"
     ]
    }
   ],
   "source": [
    "# generate predictions on test data from RNN model\n",
    "dev_data['name'] = 'test'\n",
    "with torch.no_grad():\n",
    "    test_outputs_RNN = problemRNN(dev_data)\n",
    "\n",
    "# plot comparison\n",
    "plt.plot(time_steps, targets_avg[div:]*targ_std+targ_mean, label='Actual', marker='o', color='blue')\n",
    "plt.plot(time_steps, test_outputs_MLP['test_y']*targ_std+targ_mean, label='Predicted - MLP', marker='x', color='red')\n",
    "plt.plot(time_steps, test_outputs_RNN['test_y']*targ_std+targ_mean, label='Predicted - RNN', marker='>', color='black')\n",
    "plt.xlabel('Time (h)')\n",
    "plt.ylabel('RTU Load (kWh)')\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.show()\n",
    "\n",
    "# compute mean square error and mean absolute error metrics\n",
    "print('MSE and MAE (MLP):', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std)))))\n",
    "print('MSE and MAE (RNN):', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_RNN['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_RNN['test_y']*targ_std)))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Repeat training process with CNN model\n",
    "\n",
    "Lastly, the a [convolutional neural network (CNN)](https://en.wikipedia.org/wiki/Convolutional_neural_network) model is used for the load forecasting and the training process is repeated.\n",
    "CNN models are often used for processing spatial data (like images), but have also been used for time series predictions.\n",
    "The CNN architecture is defined using PyTorch but Neuromancer is used to re-define the nodes, problem, optimizer, and re-create the trainer.\n",
    "The data also needs to be reloaded."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 368,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "None\n"
     ]
    },
    {
     "data": {
      "image/png": "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qmRnZ5OamkpKSgp79+5l7969pKenYzAYiIuL4/7772fAgAF06tSpxV3s6xscQEVGXdv8zi647gNbsa4WthsB8PT0ZNiwYQwbNgyLxcLevXvZvHkzW7du5fPPP0dRFCIjI+nRowfdunWjQ4cOREZG4unpSWpqKrt27UJVVQ4lH+Of//ciO3cfYOaMK+naJaphPTO2oN+LOEdVVTIyMkhOTiY7O5u4uDg6dOiAwWCocfrCwkJOnDiBoih07dq1iVPc+rmiP7CW4iIMEBwIDs5O1pysVisnT57k0KFDHDx4kH379pGamkpZWRkBAQH07NmTG264gYSEBEJDQx2uh24aVXOLhma0VeevaGjj2EKrlwI09MC2nJxQr9fTq1cvevXqxc0338yxY8fYuXMnO3fuZPPmzfz2228YjUaio6Pp2rUrBw8etHeCpaqQkXmG9z78H/sPHOH22dcxauQgvDzr2WV2y9glohJVVUlOTua9996jS5cuHD9+nAMHDjB69Gj69et3wXmKi4uZP38+P/zwAwkJCTz33HNNnOrWp+VcEVyvBQQITdSDXmN1+e9CpaWlpKSksGPHDnbs2MGBAwcoKirCy8uLzp07M23aNGJiYoiOjiYoKKjZgwIF9Wzx/wW+abTieeeKflyfhtqqOmr5qpHPOZ1OR0xMDDExMVx22WWkp6eTnJzMoUOH2LVrFz///DNJSUnV5issLGLJstWkHE/jhr9M5eYbpxMcHNBSfyKtQwu5xqiqyvz585k/fz779+9HVVX27t1b62OyGo0Gm83GokWLGjaUeAvUWIelBRzqRtMCAoQm6kGvhXbEZ7FYSE5OZv369WzatInk5GT0ej0dOnRg1KhRxMXFERERQUREBL6+vi2q+kCjseFpMGFwk74vALSaGh6pauJDVnH+dOjQgZEjR3L69Gk2bNjAokWLsNls1aa3Wm3s2n2A/77xCdt37OXRh+6gR3wXGQu+vlrIT1RVVT788EMURcHz7PPvAwYMqHUed3f3GksXWrsWclgapKFDkTirBQQIjm5OQze7hYT1lFcf/Pnnn6xevZo1a9aQkpKCj48Pffr04Y477qBr164EBwcTEBCAwWBoUUFBZYoCep0FPZbmToqogVarJTQ0lPT09DrPo4zM0/y0cAV79x7koX/czvWhfdG00HPvYpKfn8++fftYsGABDz/8MHPm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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of parameters: 2049\n"
     ]
    }
   ],
   "source": [
    "import torch.nn as nn\n",
    "\n",
    "class CNN(nn.Module):\n",
    "    def __init__(self, input_size, output_size, out_channels=64):\n",
    "        super(CNN, self).__init__()\n",
    "        \n",
    "        self.conv1 = nn.Conv1d(input_size, out_channels, kernel_size=3, padding=1)\n",
    "        self.relu = nn.ReLU()\n",
    "        self.linear = nn.Linear(out_channels, output_size)\n",
    "\n",
    "    def forward(self, x):\n",
    "        # x should have shape (batch_size, input_size, length)\n",
    "        x=x.transpose(0,1)\n",
    "        # Pass through the first conv layer and ReLU\n",
    "        x = self.conv1(x)\n",
    "        x = self.relu(x)\n",
    "        x=x.transpose(0,1)\n",
    "        \n",
    "        # Pass through the linear layer\n",
    "        x = self.linear(x)\n",
    "        \n",
    "        # Output will have shape (batch_size, output_size, length)\n",
    "        return x\n",
    "\n",
    "# Define model and training parameters\n",
    "cnn = CNN(input_size, output_size)\n",
    "modelCNN = cnn.to(torch.float64)\n",
    "model_sym_CNN = Node(modelCNN, ['X'], ['y'], name='model')\n",
    "optimizerCNN = torch.optim.Adam(modelCNN.parameters(), lr=0.005)\n",
    "\n",
    "loggerCNN = BasicLogger(args=None, savedir='test', verbosity=1,\n",
    "                        stdout=['dev_loss', 'train_loss'])\n",
    "\n",
    "nodes = [model_sym_CNN]\n",
    "problemCNN = Problem(nodes,loss)\n",
    "problemCNN.show()\n",
    "\n",
    "# Reload data\n",
    "train_loader, dev_loader, dev_data = get_splits(features_avg, targets_avg, bs)\n",
    "trainerCNN = getTrainer(problemCNN, train_loader, dev_loader, optimizerCNN, logger)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initialize training loop for CNN model\n",
    "The training process is then repeated for the CNN model and the best model is saved.\n",
    "The reader can compare the training and development loss for the CNN model with the previous models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 369,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 0\ttrain_loss: 0.19165\tdev_loss: 0.41128\teltime:  240.03815\n",
      "epoch: 1\ttrain_loss: 0.19924\tdev_loss: 0.20158\teltime:  240.06928\n",
      "epoch: 2\ttrain_loss: 0.11799\tdev_loss: 0.35988\teltime:  240.09155\n",
      "epoch: 3\ttrain_loss: 0.05131\tdev_loss: 0.08202\teltime:  240.11895\n",
      "epoch: 4\ttrain_loss: 0.04783\tdev_loss: 0.09997\teltime:  240.15276\n",
      "epoch: 5\ttrain_loss: 0.07710\tdev_loss: 0.12984\teltime:  240.17891\n",
      "epoch: 6\ttrain_loss: 0.11759\tdev_loss: 0.18473\teltime:  240.19926\n",
      "epoch: 7\ttrain_loss: 0.01688\tdev_loss: 0.07927\teltime:  240.22023\n",
      "epoch: 8\ttrain_loss: 0.02826\tdev_loss: 0.08072\teltime:  240.23532\n",
      "epoch: 9\ttrain_loss: 0.10277\tdev_loss: 0.43837\teltime:  240.26023\n",
      "epoch: 10\ttrain_loss: 0.07101\tdev_loss: 0.06470\teltime:  240.27207\n",
      "epoch: 11\ttrain_loss: 0.08049\tdev_loss: 0.01773\teltime:  240.30902\n",
      "epoch: 12\ttrain_loss: 0.04507\tdev_loss: 0.09427\teltime:  240.31856\n",
      "epoch: 13\ttrain_loss: 0.02939\tdev_loss: 0.44566\teltime:  240.35245\n",
      "epoch: 14\ttrain_loss: 0.05027\tdev_loss: 0.08135\teltime:  240.37604\n",
      "epoch: 15\ttrain_loss: 0.04233\tdev_loss: 0.19748\teltime:  240.38764\n",
      "epoch: 16\ttrain_loss: 0.08171\tdev_loss: 0.36255\teltime:  240.40293\n",
      "epoch: 17\ttrain_loss: 0.06293\tdev_loss: 0.16205\teltime:  240.44167\n",
      "epoch: 18\ttrain_loss: 0.04750\tdev_loss: 0.06390\teltime:  240.45870\n",
      "epoch: 19\ttrain_loss: 0.04096\tdev_loss: 0.11275\teltime:  240.49242\n",
      "epoch: 20\ttrain_loss: 0.02936\tdev_loss: 0.14019\teltime:  240.52121\n",
      "epoch: 21\ttrain_loss: 0.05483\tdev_loss: 0.15811\teltime:  240.55458\n",
      "epoch: 22\ttrain_loss: 0.01108\tdev_loss: 0.17414\teltime:  240.59330\n",
      "epoch: 23\ttrain_loss: 0.01179\tdev_loss: 0.09515\teltime:  240.62127\n",
      "epoch: 24\ttrain_loss: 0.02791\tdev_loss: 0.10029\teltime:  240.65254\n",
      "epoch: 25\ttrain_loss: 0.04255\tdev_loss: 0.13375\teltime:  240.66967\n",
      "epoch: 26\ttrain_loss: 0.04364\tdev_loss: 0.06257\teltime:  240.68871\n",
      "epoch: 27\ttrain_loss: 0.03787\tdev_loss: 0.33944\teltime:  240.73221\n",
      "epoch: 28\ttrain_loss: 0.03000\tdev_loss: 0.33868\teltime:  240.75948\n",
      "epoch: 29\ttrain_loss: 0.09637\tdev_loss: 0.18907\teltime:  240.78096\n",
      "epoch: 30\ttrain_loss: 0.12407\tdev_loss: 0.25227\teltime:  240.78720\n",
      "epoch: 31\ttrain_loss: 0.02568\tdev_loss: 0.04502\teltime:  240.82195\n",
      "epoch: 32\ttrain_loss: 0.02894\tdev_loss: 0.06487\teltime:  240.85191\n",
      "epoch: 33\ttrain_loss: 0.02148\tdev_loss: 0.15076\teltime:  240.87625\n",
      "epoch: 34\ttrain_loss: 0.03573\tdev_loss: 0.07021\teltime:  240.88599\n",
      "epoch: 35\ttrain_loss: 0.02848\tdev_loss: 0.14082\teltime:  240.91875\n",
      "epoch: 36\ttrain_loss: 0.01644\tdev_loss: 0.37548\teltime:  240.93629\n",
      "epoch: 37\ttrain_loss: 0.01980\tdev_loss: 0.06980\teltime:  240.96832\n",
      "epoch: 38\ttrain_loss: 0.02294\tdev_loss: 0.16631\teltime:  241.00777\n",
      "epoch: 39\ttrain_loss: 0.03875\tdev_loss: 0.28786\teltime:  241.03453\n",
      "epoch: 40\ttrain_loss: 0.05757\tdev_loss: 0.13633\teltime:  241.05214\n",
      "epoch: 41\ttrain_loss: 0.01795\tdev_loss: 0.14655\teltime:  241.06965\n",
      "epoch: 42\ttrain_loss: 0.04189\tdev_loss: 0.05217\teltime:  241.10118\n",
      "epoch: 43\ttrain_loss: 0.00835\tdev_loss: 0.21879\teltime:  241.11890\n",
      "epoch: 44\ttrain_loss: 0.01923\tdev_loss: 0.06903\teltime:  241.14852\n",
      "epoch: 45\ttrain_loss: 0.05383\tdev_loss: 0.13129\teltime:  241.18473\n",
      "epoch: 46\ttrain_loss: 0.01973\tdev_loss: 0.12782\teltime:  241.22207\n",
      "epoch: 47\ttrain_loss: 0.00464\tdev_loss: 0.03923\teltime:  241.25283\n",
      "epoch: 48\ttrain_loss: 0.00893\tdev_loss: 0.10507\teltime:  241.29350\n",
      "epoch: 49\ttrain_loss: 0.02760\tdev_loss: 0.39343\teltime:  241.33470\n",
      "epoch: 50\ttrain_loss: 0.03653\tdev_loss: 0.14562\teltime:  241.35256\n",
      "epoch: 51\ttrain_loss: 0.02567\tdev_loss: 0.15659\teltime:  241.38604\n",
      "epoch: 52\ttrain_loss: 0.01336\tdev_loss: 0.09767\teltime:  241.41949\n",
      "epoch: 53\ttrain_loss: 0.03355\tdev_loss: 0.08706\teltime:  241.46533\n",
      "epoch: 54\ttrain_loss: 0.02979\tdev_loss: 0.30509\teltime:  241.49291\n",
      "epoch: 55\ttrain_loss: 0.09222\tdev_loss: 0.16919\teltime:  241.51865\n",
      "epoch: 56\ttrain_loss: 0.05437\tdev_loss: 0.21917\teltime:  241.54585\n",
      "epoch: 57\ttrain_loss: 0.01290\tdev_loss: 0.11516\teltime:  241.56878\n",
      "epoch: 58\ttrain_loss: 0.03597\tdev_loss: 0.07336\teltime:  241.60309\n",
      "epoch: 59\ttrain_loss: 0.03101\tdev_loss: 0.06428\teltime:  241.62059\n",
      "epoch: 60\ttrain_loss: 0.03208\tdev_loss: 0.39715\teltime:  241.65228\n",
      "epoch: 61\ttrain_loss: 0.03937\tdev_loss: 0.27512\teltime:  241.68574\n",
      "epoch: 62\ttrain_loss: 0.05338\tdev_loss: 0.05503\teltime:  241.70276\n",
      "epoch: 63\ttrain_loss: 0.00942\tdev_loss: 0.20642\teltime:  241.74546\n",
      "epoch: 64\ttrain_loss: 0.02348\tdev_loss: 0.10138\teltime:  241.76934\n",
      "epoch: 65\ttrain_loss: 0.03093\tdev_loss: 0.10775\teltime:  241.80281\n",
      "epoch: 66\ttrain_loss: 0.02958\tdev_loss: 0.12532\teltime:  241.83462\n",
      "epoch: 67\ttrain_loss: 0.01851\tdev_loss: 0.07579\teltime:  241.85251\n",
      "epoch: 68\ttrain_loss: 0.05370\tdev_loss: 0.20305\teltime:  241.88928\n",
      "epoch: 69\ttrain_loss: 0.03084\tdev_loss: 0.12115\teltime:  241.91931\n",
      "epoch: 70\ttrain_loss: 0.05651\tdev_loss: 0.31259\teltime:  241.95225\n",
      "epoch: 71\ttrain_loss: 0.01041\tdev_loss: 0.20747\teltime:  241.98594\n",
      "epoch: 72\ttrain_loss: 0.02108\tdev_loss: 0.10686\teltime:  242.02706\n",
      "epoch: 73\ttrain_loss: 0.02630\tdev_loss: 0.36114\teltime:  242.05700\n",
      "epoch: 74\ttrain_loss: 0.02294\tdev_loss: 0.07815\teltime:  242.06859\n",
      "epoch: 75\ttrain_loss: 0.03090\tdev_loss: 0.05753\teltime:  242.10205\n",
      "epoch: 76\ttrain_loss: 0.03536\tdev_loss: 0.03919\teltime:  242.11846\n",
      "epoch: 77\ttrain_loss: 0.01615\tdev_loss: 0.20847\teltime:  242.15222\n",
      "epoch: 78\ttrain_loss: 0.03904\tdev_loss: 0.02591\teltime:  242.18103\n",
      "epoch: 79\ttrain_loss: 0.02053\tdev_loss: 0.23420\teltime:  242.20197\n",
      "epoch: 80\ttrain_loss: 0.02082\tdev_loss: 0.10206\teltime:  242.22213\n",
      "epoch: 81\ttrain_loss: 0.01163\tdev_loss: 0.14817\teltime:  242.24681\n",
      "epoch: 82\ttrain_loss: 0.00571\tdev_loss: 0.17161\teltime:  242.26922\n",
      "epoch: 83\ttrain_loss: 0.01327\tdev_loss: 0.17555\teltime:  242.28532\n",
      "epoch: 84\ttrain_loss: 0.02298\tdev_loss: 0.24303\teltime:  242.31374\n",
      "epoch: 85\ttrain_loss: 0.05961\tdev_loss: 0.08004\teltime:  242.33710\n",
      "epoch: 86\ttrain_loss: 0.01979\tdev_loss: 0.09146\teltime:  242.35493\n",
      "epoch: 87\ttrain_loss: 0.03804\tdev_loss: 0.12849\teltime:  242.38565\n",
      "epoch: 88\ttrain_loss: 0.01090\tdev_loss: 0.28978\teltime:  242.40196\n",
      "epoch: 89\ttrain_loss: 0.02476\tdev_loss: 0.13043\teltime:  242.41891\n",
      "epoch: 90\ttrain_loss: 0.02956\tdev_loss: 0.23641\teltime:  242.46004\n",
      "epoch: 91\ttrain_loss: 0.01613\tdev_loss: 0.02635\teltime:  242.48558\n",
      "epoch: 92\ttrain_loss: 0.02723\tdev_loss: 0.25930\teltime:  242.50223\n",
      "epoch: 93\ttrain_loss: 0.00963\tdev_loss: 0.23497\teltime:  242.51859\n",
      "epoch: 94\ttrain_loss: 0.02392\tdev_loss: 0.07454\teltime:  242.56020\n",
      "epoch: 95\ttrain_loss: 0.00731\tdev_loss: 0.05616\teltime:  242.59021\n",
      "epoch: 96\ttrain_loss: 0.03203\tdev_loss: 0.12041\teltime:  242.60662\n",
      "epoch: 97\ttrain_loss: 0.03016\tdev_loss: 0.12517\teltime:  242.62065\n",
      "epoch: 98\ttrain_loss: 0.01098\tdev_loss: 0.12481\teltime:  242.65235\n",
      "epoch: 99\ttrain_loss: 0.02096\tdev_loss: 0.36411\teltime:  242.66867\n",
      "epoch: 100\ttrain_loss: 0.02209\tdev_loss: 0.14116\teltime:  242.68523\n",
      "epoch: 101\ttrain_loss: 0.02196\tdev_loss: 0.10920\teltime:  242.71412\n",
      "epoch: 102\ttrain_loss: 0.01323\tdev_loss: 0.14171\teltime:  242.73513\n",
      "epoch: 103\ttrain_loss: 0.00892\tdev_loss: 0.07095\teltime:  242.75432\n",
      "epoch: 104\ttrain_loss: 0.01764\tdev_loss: 0.13719\teltime:  242.77256\n",
      "epoch: 105\ttrain_loss: 0.02765\tdev_loss: 0.15924\teltime:  242.80125\n",
      "epoch: 106\ttrain_loss: 0.01495\tdev_loss: 0.07091\teltime:  242.81872\n",
      "epoch: 107\ttrain_loss: 0.00182\tdev_loss: 0.04626\teltime:  242.84667\n",
      "epoch: 108\ttrain_loss: 0.03453\tdev_loss: 0.04273\teltime:  242.87121\n",
      "epoch: 109\ttrain_loss: 0.01119\tdev_loss: 0.08464\teltime:  242.88816\n",
      "epoch: 110\ttrain_loss: 0.02325\tdev_loss: 0.02367\teltime:  242.91784\n",
      "epoch: 111\ttrain_loss: 0.00460\tdev_loss: 0.03596\teltime:  242.94402\n",
      "epoch: 112\ttrain_loss: 0.00481\tdev_loss: 0.14560\teltime:  242.96791\n",
      "epoch: 113\ttrain_loss: 0.04288\tdev_loss: 0.26732\teltime:  242.98784\n",
      "epoch: 114\ttrain_loss: 0.04816\tdev_loss: 0.06508\teltime:  243.00594\n",
      "epoch: 115\ttrain_loss: 0.01496\tdev_loss: 0.03655\teltime:  243.03666\n",
      "epoch: 116\ttrain_loss: 0.00991\tdev_loss: 0.06621\teltime:  243.05563\n",
      "epoch: 117\ttrain_loss: 0.01613\tdev_loss: 0.06074\teltime:  243.08465\n",
      "epoch: 118\ttrain_loss: 0.01784\tdev_loss: 0.11384\teltime:  243.10619\n",
      "epoch: 119\ttrain_loss: 0.01080\tdev_loss: 0.11358\teltime:  243.12688\n",
      "epoch: 120\ttrain_loss: 0.02534\tdev_loss: 0.04690\teltime:  243.14778\n",
      "epoch: 121\ttrain_loss: 0.01539\tdev_loss: 0.04100\teltime:  243.16747\n",
      "epoch: 122\ttrain_loss: 0.02728\tdev_loss: 0.06699\teltime:  243.18722\n",
      "epoch: 123\ttrain_loss: 0.00754\tdev_loss: 0.14398\teltime:  243.20413\n",
      "epoch: 124\ttrain_loss: 0.01141\tdev_loss: 0.09090\teltime:  243.22521\n",
      "epoch: 125\ttrain_loss: 0.03585\tdev_loss: 0.02543\teltime:  243.25925\n",
      "epoch: 126\ttrain_loss: 0.01631\tdev_loss: 0.02348\teltime:  243.26851\n",
      "epoch: 127\ttrain_loss: 0.01837\tdev_loss: 0.05052\teltime:  243.28515\n",
      "epoch: 128\ttrain_loss: 0.00473\tdev_loss: 0.07743\teltime:  243.31887\n",
      "epoch: 129\ttrain_loss: 0.00837\tdev_loss: 0.25010\teltime:  243.33485\n",
      "epoch: 130\ttrain_loss: 0.02621\tdev_loss: 0.06370\teltime:  243.35177\n",
      "epoch: 131\ttrain_loss: 0.03797\tdev_loss: 0.03975\teltime:  243.38391\n",
      "epoch: 132\ttrain_loss: 0.01265\tdev_loss: 0.21993\teltime:  243.40425\n",
      "epoch: 133\ttrain_loss: 0.01308\tdev_loss: 0.06505\teltime:  243.42530\n",
      "epoch: 134\ttrain_loss: 0.02306\tdev_loss: 0.09217\teltime:  243.45575\n",
      "epoch: 135\ttrain_loss: 0.00866\tdev_loss: 0.15636\teltime:  243.48454\n",
      "epoch: 136\ttrain_loss: 0.01824\tdev_loss: 0.08637\teltime:  243.50524\n",
      "epoch: 137\ttrain_loss: 0.03234\tdev_loss: 0.20457\teltime:  243.53862\n",
      "epoch: 138\ttrain_loss: 0.00357\tdev_loss: 0.17543\teltime:  243.55452\n",
      "epoch: 139\ttrain_loss: 0.02192\tdev_loss: 0.06422\teltime:  243.57523\n",
      "epoch: 140\ttrain_loss: 0.00599\tdev_loss: 0.06204\teltime:  243.60539\n",
      "epoch: 141\ttrain_loss: 0.02230\tdev_loss: 0.04608\teltime:  243.62596\n",
      "epoch: 142\ttrain_loss: 0.01871\tdev_loss: 0.17322\teltime:  243.66473\n",
      "epoch: 143\ttrain_loss: 0.00414\tdev_loss: 0.07051\teltime:  243.68524\n",
      "epoch: 144\ttrain_loss: 0.01647\tdev_loss: 0.14605\teltime:  243.70189\n",
      "epoch: 145\ttrain_loss: 0.01338\tdev_loss: 0.03367\teltime:  243.71851\n",
      "epoch: 146\ttrain_loss: 0.01544\tdev_loss: 0.06289\teltime:  243.73808\n",
      "epoch: 147\ttrain_loss: 0.00650\tdev_loss: 0.02633\teltime:  243.76723\n",
      "epoch: 148\ttrain_loss: 0.02191\tdev_loss: 0.05727\teltime:  243.78546\n",
      "epoch: 149\ttrain_loss: 0.00890\tdev_loss: 0.08391\teltime:  243.81879\n",
      "epoch: 150\ttrain_loss: 0.01309\tdev_loss: 0.07995\teltime:  243.84152\n",
      "epoch: 151\ttrain_loss: 0.01735\tdev_loss: 0.02007\teltime:  243.86789\n",
      "epoch: 152\ttrain_loss: 0.00868\tdev_loss: 0.13620\teltime:  243.88542\n",
      "epoch: 153\ttrain_loss: 0.01237\tdev_loss: 0.07168\teltime:  243.90188\n",
      "epoch: 154\ttrain_loss: 0.01680\tdev_loss: 0.02806\teltime:  243.94295\n",
      "epoch: 155\ttrain_loss: 0.01225\tdev_loss: 0.04739\teltime:  243.95489\n",
      "epoch: 156\ttrain_loss: 0.01213\tdev_loss: 0.06564\teltime:  243.98522\n",
      "epoch: 157\ttrain_loss: 0.01119\tdev_loss: 0.09577\teltime:  244.01840\n",
      "epoch: 158\ttrain_loss: 0.00823\tdev_loss: 0.02510\teltime:  244.03539\n",
      "epoch: 159\ttrain_loss: 0.01037\tdev_loss: 0.01173\teltime:  244.07507\n",
      "epoch: 160\ttrain_loss: 0.01188\tdev_loss: 0.11798\teltime:  244.10212\n",
      "epoch: 161\ttrain_loss: 0.01127\tdev_loss: 0.15557\teltime:  244.11849\n",
      "epoch: 162\ttrain_loss: 0.01306\tdev_loss: 0.11786\teltime:  244.15189\n",
      "epoch: 163\ttrain_loss: 0.01071\tdev_loss: 0.01208\teltime:  244.17162\n",
      "epoch: 164\ttrain_loss: 0.00371\tdev_loss: 0.03152\teltime:  244.20607\n",
      "epoch: 165\ttrain_loss: 0.01140\tdev_loss: 0.05126\teltime:  244.21860\n",
      "epoch: 166\ttrain_loss: 0.01668\tdev_loss: 0.18603\teltime:  244.25742\n",
      "epoch: 167\ttrain_loss: 0.00847\tdev_loss: 0.05349\teltime:  244.27170\n",
      "epoch: 168\ttrain_loss: 0.01358\tdev_loss: 0.10120\teltime:  244.30179\n",
      "epoch: 169\ttrain_loss: 0.01254\tdev_loss: 0.08553\teltime:  244.33089\n",
      "epoch: 170\ttrain_loss: 0.00922\tdev_loss: 0.06646\teltime:  244.35186\n",
      "epoch: 171\ttrain_loss: 0.00634\tdev_loss: 0.09509\teltime:  244.37121\n",
      "epoch: 172\ttrain_loss: 0.00646\tdev_loss: 0.11156\teltime:  244.38498\n",
      "epoch: 173\ttrain_loss: 0.02938\tdev_loss: 0.06771\teltime:  244.41838\n",
      "epoch: 174\ttrain_loss: 0.02245\tdev_loss: 0.03826\teltime:  244.43577\n",
      "epoch: 175\ttrain_loss: 0.01079\tdev_loss: 0.13578\teltime:  244.47090\n",
      "epoch: 176\ttrain_loss: 0.01139\tdev_loss: 0.09394\teltime:  244.50117\n",
      "epoch: 177\ttrain_loss: 0.00902\tdev_loss: 0.11759\teltime:  244.51875\n",
      "epoch: 178\ttrain_loss: 0.00771\tdev_loss: 0.05370\teltime:  244.54926\n",
      "epoch: 179\ttrain_loss: 0.00422\tdev_loss: 0.22401\teltime:  244.56898\n",
      "epoch: 180\ttrain_loss: 0.01218\tdev_loss: 0.09723\teltime:  244.58499\n",
      "epoch: 181\ttrain_loss: 0.00290\tdev_loss: 0.11407\teltime:  244.61390\n",
      "epoch: 182\ttrain_loss: 0.02823\tdev_loss: 0.13359\teltime:  244.63513\n",
      "epoch: 183\ttrain_loss: 0.00428\tdev_loss: 0.02050\teltime:  244.65152\n",
      "epoch: 184\ttrain_loss: 0.02075\tdev_loss: 0.03422\teltime:  244.66812\n",
      "epoch: 185\ttrain_loss: 0.01403\tdev_loss: 0.27125\teltime:  244.68494\n",
      "epoch: 186\ttrain_loss: 0.00801\tdev_loss: 0.07247\teltime:  244.72095\n",
      "epoch: 187\ttrain_loss: 0.01180\tdev_loss: 0.07615\teltime:  244.74150\n",
      "epoch: 188\ttrain_loss: 0.02417\tdev_loss: 0.12848\teltime:  244.76025\n",
      "epoch: 189\ttrain_loss: 0.00866\tdev_loss: 0.22092\teltime:  244.78527\n",
      "epoch: 190\ttrain_loss: 0.00802\tdev_loss: 0.14676\teltime:  244.80163\n",
      "epoch: 191\ttrain_loss: 0.09473\tdev_loss: 0.08810\teltime:  244.82105\n",
      "epoch: 192\ttrain_loss: 0.03207\tdev_loss: 0.06199\teltime:  244.83480\n",
      "epoch: 193\ttrain_loss: 0.05143\tdev_loss: 0.05103\teltime:  244.86718\n",
      "epoch: 194\ttrain_loss: 0.01725\tdev_loss: 0.18497\teltime:  244.88744\n",
      "epoch: 195\ttrain_loss: 0.01760\tdev_loss: 0.05635\teltime:  244.91795\n",
      "epoch: 196\ttrain_loss: 0.00771\tdev_loss: 0.05426\teltime:  244.96867\n",
      "epoch: 197\ttrain_loss: 0.02071\tdev_loss: 0.05479\teltime:  245.00189\n",
      "epoch: 198\ttrain_loss: 0.00544\tdev_loss: 0.20021\teltime:  245.02706\n",
      "epoch: 199\ttrain_loss: 0.00618\tdev_loss: 0.05125\teltime:  245.04936\n",
      "epoch: 200\ttrain_loss: 0.00757\tdev_loss: 0.02646\teltime:  245.06852\n",
      "epoch: 201\ttrain_loss: 0.00533\tdev_loss: 0.12483\teltime:  245.08494\n",
      "epoch: 202\ttrain_loss: 0.00963\tdev_loss: 0.12184\teltime:  245.12791\n",
      "epoch: 203\ttrain_loss: 0.01030\tdev_loss: 0.03866\teltime:  245.16672\n",
      "epoch: 204\ttrain_loss: 0.00558\tdev_loss: 0.16484\teltime:  245.18535\n",
      "epoch: 205\ttrain_loss: 0.01159\tdev_loss: 0.02944\teltime:  245.20176\n",
      "epoch: 206\ttrain_loss: 0.01417\tdev_loss: 0.11884\teltime:  245.21844\n",
      "epoch: 207\ttrain_loss: 0.01113\tdev_loss: 0.08422\teltime:  245.24944\n",
      "epoch: 208\ttrain_loss: 0.00276\tdev_loss: 0.08158\teltime:  245.26911\n",
      "epoch: 209\ttrain_loss: 0.00643\tdev_loss: 0.12034\teltime:  245.29450\n",
      "epoch: 210\ttrain_loss: 0.00603\tdev_loss: 0.16798\teltime:  245.30877\n",
      "epoch: 211\ttrain_loss: 0.01345\tdev_loss: 0.23364\teltime:  245.33480\n",
      "epoch: 212\ttrain_loss: 0.00579\tdev_loss: 0.12809\teltime:  245.35445\n",
      "epoch: 213\ttrain_loss: 0.00711\tdev_loss: 0.05192\teltime:  245.37094\n",
      "epoch: 214\ttrain_loss: 0.01122\tdev_loss: 0.12977\teltime:  245.38507\n",
      "epoch: 215\ttrain_loss: 0.00995\tdev_loss: 0.09479\teltime:  245.41814\n",
      "epoch: 216\ttrain_loss: 0.02086\tdev_loss: 0.05501\teltime:  245.44207\n",
      "epoch: 217\ttrain_loss: 0.00358\tdev_loss: 0.03770\teltime:  245.46539\n",
      "epoch: 218\ttrain_loss: 0.01852\tdev_loss: 0.05638\teltime:  245.48793\n",
      "epoch: 219\ttrain_loss: 0.00839\tdev_loss: 0.09740\teltime:  245.50774\n",
      "epoch: 220\ttrain_loss: 0.00930\tdev_loss: 0.03632\teltime:  245.52789\n",
      "epoch: 221\ttrain_loss: 0.01945\tdev_loss: 0.08120\teltime:  245.55191\n",
      "epoch: 222\ttrain_loss: 0.01749\tdev_loss: 0.09228\teltime:  245.58203\n",
      "epoch: 223\ttrain_loss: 0.00667\tdev_loss: 0.15087\teltime:  245.60374\n",
      "epoch: 224\ttrain_loss: 0.02891\tdev_loss: 0.15883\teltime:  245.61815\n",
      "epoch: 225\ttrain_loss: 0.00400\tdev_loss: 0.05332\teltime:  245.63489\n",
      "epoch: 226\ttrain_loss: 0.01204\tdev_loss: 0.07967\teltime:  245.65196\n",
      "epoch: 227\ttrain_loss: 0.00420\tdev_loss: 0.09359\teltime:  245.68498\n",
      "epoch: 228\ttrain_loss: 0.00567\tdev_loss: 0.04729\teltime:  245.71368\n",
      "epoch: 229\ttrain_loss: 0.00524\tdev_loss: 0.07240\teltime:  245.73537\n",
      "epoch: 230\ttrain_loss: 0.01154\tdev_loss: 0.09850\teltime:  245.75175\n",
      "epoch: 231\ttrain_loss: 0.02225\tdev_loss: 0.03490\teltime:  245.79005\n",
      "epoch: 232\ttrain_loss: 0.01742\tdev_loss: 0.13415\teltime:  245.81814\n",
      "epoch: 233\ttrain_loss: 0.01829\tdev_loss: 0.04929\teltime:  245.84575\n",
      "epoch: 234\ttrain_loss: 0.00889\tdev_loss: 0.22537\teltime:  245.86863\n",
      "epoch: 235\ttrain_loss: 0.01263\tdev_loss: 0.14069\teltime:  245.88792\n",
      "epoch: 236\ttrain_loss: 0.00452\tdev_loss: 0.05359\teltime:  245.91851\n",
      "epoch: 237\ttrain_loss: 0.01206\tdev_loss: 0.19024\teltime:  245.93530\n",
      "epoch: 238\ttrain_loss: 0.00518\tdev_loss: 0.14463\teltime:  245.96889\n",
      "epoch: 239\ttrain_loss: 0.01301\tdev_loss: 0.07625\teltime:  246.00045\n",
      "epoch: 240\ttrain_loss: 0.01594\tdev_loss: 0.16919\teltime:  246.01916\n",
      "epoch: 241\ttrain_loss: 0.01154\tdev_loss: 0.17166\teltime:  246.03820\n",
      "epoch: 242\ttrain_loss: 0.01295\tdev_loss: 0.10258\teltime:  246.06841\n",
      "epoch: 243\ttrain_loss: 0.02496\tdev_loss: 0.07409\teltime:  246.08784\n",
      "epoch: 244\ttrain_loss: 0.01466\tdev_loss: 0.12882\teltime:  246.12199\n",
      "epoch: 245\ttrain_loss: 0.01553\tdev_loss: 0.07508\teltime:  246.15254\n",
      "epoch: 246\ttrain_loss: 0.00854\tdev_loss: 0.11873\teltime:  246.18747\n",
      "epoch: 247\ttrain_loss: 0.00335\tdev_loss: 0.06804\teltime:  246.20620\n",
      "epoch: 248\ttrain_loss: 0.01507\tdev_loss: 0.04764\teltime:  246.24723\n",
      "epoch: 249\ttrain_loss: 0.00525\tdev_loss: 0.05241\teltime:  246.27111\n",
      "epoch: 250\ttrain_loss: 0.00883\tdev_loss: 0.19503\teltime:  246.29342\n",
      "epoch: 251\ttrain_loss: 0.00557\tdev_loss: 0.07350\teltime:  246.30424\n",
      "epoch: 252\ttrain_loss: 0.00643\tdev_loss: 0.16956\teltime:  246.33538\n",
      "epoch: 253\ttrain_loss: 0.00374\tdev_loss: 0.13401\teltime:  246.35447\n",
      "epoch: 254\ttrain_loss: 0.00574\tdev_loss: 0.10920\teltime:  246.37136\n",
      "epoch: 255\ttrain_loss: 0.00420\tdev_loss: 0.18424\teltime:  246.39081\n",
      "epoch: 256\ttrain_loss: 0.01346\tdev_loss: 0.07939\teltime:  246.42375\n",
      "epoch: 257\ttrain_loss: 0.00415\tdev_loss: 0.10024\teltime:  246.45300\n",
      "epoch: 258\ttrain_loss: 0.01104\tdev_loss: 0.08615\teltime:  246.47138\n",
      "epoch: 259\ttrain_loss: 0.00781\tdev_loss: 0.15887\teltime:  246.48968\n",
      "epoch: 260\ttrain_loss: 0.01489\tdev_loss: 0.05832\teltime:  246.52300\n",
      "epoch: 261\ttrain_loss: 0.02136\tdev_loss: 0.11284\teltime:  246.53956\n",
      "epoch: 262\ttrain_loss: 0.01086\tdev_loss: 0.11392\teltime:  246.55403\n",
      "epoch: 263\ttrain_loss: 0.00237\tdev_loss: 0.10255\teltime:  246.58981\n",
      "epoch: 264\ttrain_loss: 0.01051\tdev_loss: 0.09762\teltime:  246.60560\n",
      "epoch: 265\ttrain_loss: 0.00764\tdev_loss: 0.03655\teltime:  246.63815\n",
      "epoch: 266\ttrain_loss: 0.00135\tdev_loss: 0.19463\teltime:  246.66632\n",
      "epoch: 267\ttrain_loss: 0.00726\tdev_loss: 0.17241\teltime:  246.68764\n",
      "epoch: 268\ttrain_loss: 0.00546\tdev_loss: 0.21781\teltime:  246.70206\n",
      "epoch: 269\ttrain_loss: 0.00496\tdev_loss: 0.07046\teltime:  246.73521\n",
      "epoch: 270\ttrain_loss: 0.01058\tdev_loss: 0.10523\teltime:  246.75163\n",
      "epoch: 271\ttrain_loss: 0.00372\tdev_loss: 0.14408\teltime:  246.76859\n",
      "epoch: 272\ttrain_loss: 0.01021\tdev_loss: 0.08929\teltime:  246.80513\n",
      "epoch: 273\ttrain_loss: 0.00323\tdev_loss: 0.07221\teltime:  246.81851\n",
      "epoch: 274\ttrain_loss: 0.00732\tdev_loss: 0.18810\teltime:  246.83772\n",
      "epoch: 275\ttrain_loss: 0.00806\tdev_loss: 0.07167\teltime:  246.86858\n",
      "epoch: 276\ttrain_loss: 0.00306\tdev_loss: 0.09309\teltime:  246.90206\n",
      "epoch: 277\ttrain_loss: 0.00886\tdev_loss: 0.21447\teltime:  246.92988\n",
      "epoch: 278\ttrain_loss: 0.02299\tdev_loss: 0.17257\teltime:  246.95429\n",
      "epoch: 279\ttrain_loss: 0.01813\tdev_loss: 0.07519\teltime:  246.97079\n",
      "epoch: 280\ttrain_loss: 0.00727\tdev_loss: 0.14761\teltime:  246.99809\n",
      "epoch: 281\ttrain_loss: 0.01506\tdev_loss: 0.11916\teltime:  247.01982\n",
      "epoch: 282\ttrain_loss: 0.00951\tdev_loss: 0.03627\teltime:  247.03804\n",
      "epoch: 283\ttrain_loss: 0.00269\tdev_loss: 0.09980\teltime:  247.06659\n",
      "epoch: 284\ttrain_loss: 0.00681\tdev_loss: 0.12362\teltime:  247.08791\n",
      "epoch: 285\ttrain_loss: 0.00361\tdev_loss: 0.08375\teltime:  247.10615\n",
      "epoch: 286\ttrain_loss: 0.01823\tdev_loss: 0.12851\teltime:  247.13523\n",
      "epoch: 287\ttrain_loss: 0.00503\tdev_loss: 0.13222\teltime:  247.15177\n",
      "epoch: 288\ttrain_loss: 0.01405\tdev_loss: 0.09318\teltime:  247.20227\n",
      "epoch: 289\ttrain_loss: 0.00477\tdev_loss: 0.02355\teltime:  247.23670\n",
      "epoch: 290\ttrain_loss: 0.00970\tdev_loss: 0.05582\teltime:  247.25203\n",
      "epoch: 291\ttrain_loss: 0.01125\tdev_loss: 0.09188\teltime:  247.28524\n",
      "epoch: 292\ttrain_loss: 0.00824\tdev_loss: 0.06518\teltime:  247.30164\n",
      "epoch: 293\ttrain_loss: 0.00504\tdev_loss: 0.04564\teltime:  247.33046\n",
      "epoch: 294\ttrain_loss: 0.00687\tdev_loss: 0.09284\teltime:  247.35362\n",
      "epoch: 295\ttrain_loss: 0.02701\tdev_loss: 0.13516\teltime:  247.37329\n",
      "epoch: 296\ttrain_loss: 0.01704\tdev_loss: 0.03874\teltime:  247.38944\n",
      "epoch: 297\ttrain_loss: 0.02127\tdev_loss: 0.09152\teltime:  247.40677\n",
      "epoch: 298\ttrain_loss: 0.03158\tdev_loss: 0.11455\teltime:  247.42579\n",
      "epoch: 299\ttrain_loss: 0.00812\tdev_loss: 0.09813\teltime:  247.45160\n",
      "epoch: 300\ttrain_loss: 0.00967\tdev_loss: 0.10486\teltime:  247.47785\n",
      "epoch: 301\ttrain_loss: 0.00536\tdev_loss: 0.16972\teltime:  247.50113\n",
      "Early stopping!!!\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "execution_count": 369,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_model_CNN = trainerCNN.train()\n",
    "problemCNN.load_state_dict(best_model_CNN)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot comparison of all three models against test data\n",
    "The predictions of the trained CNN model are compared against the actual values from the test data as well as the predictions from the MLP and RNN models.\n",
    "The results show the CNN model performs the worst of the three, particularly because it struggles to accurately predict the load values as the rise during the morning on the first day.\n",
    "The reader is encouraged to try and improve the performance of this model by changing the CNN architecture or tuning hyperparmeters (e.g., learning rate) for the training process."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 366,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7txZZF9lDTh2dHQs9TZ6Q2GMZcuW0aVLF7N1qrtNVkuhloIXXniBJ554wvg6ICDgttuMGjWKLl26cOLECUaNGlXq91R55plnmDJlClqtloCAAOPnEAgEFYelAGVQ4naOH1fidsoQgieogQixU1okyXpXkl6vOIUXLFCEzqxZEBFREJxsb6+8riCcnZ1p1KiR1eM7dOhAQkICtra2NGzY0OKY5s2bs2/fPp577jnjsn379hW7z8aNG+Po6Mj27duNri9T1Bgd0zRsX19fAgMDiY6OLjZGpkWLFqxZs4asrCyjoCppHgCenp54qiVUraRly5a0bNmSf//9l2HDhpVqW1Pc3d1L9b8QCAR3jiXLDoiMrLqIEDsVjPb999HMnVsgdKDgcdo089dVTN++fenWrRtDhgxh3rx5NG3alLi4ODZt2sSQIUPo1KkTEyZMYMSIEXTq1Il7772Xr776ipMnTxYboOzg4MDkyZN58803sbe355577iEpKYmTJ08yevRofHx8cHR0ZPPmzQQFBeHg4IC7uzszZsxg/PjxuLm5MWjQIHJycjh06BA3b97ktddeY9iwYUyZMoXRo0czdepUYmJiKiyV+48//iAvL69E61ZWVlaRWkEuLi5C4AgEVUhJlh0QGVl1CSF2KhhJp0M/cyaawoJGfV2NCstJksSmTZuYMmUKo0aNIikpCT8/P+677z58DWeLJ598kqioKCZPnkx2djaPPvooL774Ilu2bCl2vxEREdja2jJt2jTi4uLw9/fnhRdeAMDW1pbFixcza9Yspk2bRvfu3dm5cydjxozBycmJ999/nzfffBNnZ2dat25tDOp1cXHh559/5oUXXqB9+/a0aNGCefPm8eijj5b7cSns7rPEuXPnaN++vdmyHj16WHQJCgSCiic9vSBxtiTLjizfUZKroKYgVyHTp0+XAbM/X19f4/oRI0YUWd+lSxezfWRnZ8v//e9/5fr168tOTk7ygw8+KMfGxpZqHikpKTIgp6SkFFmXlZUlnzp1Ss7Kyir159PpdPLNmzdlnU5X6m0Fd05NP/538t2rDuTm5sobN26Uc3Nzq3oqdZK6fvyjomQZZNnJqei67GxZ1miU9VevVsz71/XjX1mUdP02pcqzsVq2bEl8fLzx7/jx42br1SrA6t+mTZvM1r/66qv88MMPfPvtt/z555+kp6czePBg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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE and MAE (MLP): 480.23339563219446 14.826025115635062\n",
      "MSE and MAE (RNN): 420.95199640714526 13.501880412150951\n",
      "MSE and MAE (CNN): 563.1150115326392 19.02875063777603\n"
     ]
    }
   ],
   "source": [
    "# generate predictions on test data from RNN model\n",
    "dev_data['name'] = 'test'\n",
    "with torch.no_grad():\n",
    "    test_outputs_CNN = problemCNN(dev_data)\n",
    "\n",
    "# plot comparison\n",
    "plt.plot(time_steps, targets_avg[div:]*targ_std+targ_mean, label='Actual', marker='o', color='blue')\n",
    "plt.plot(time_steps, test_outputs_MLP['test_y']*targ_std+targ_mean, label='Predicted - MLP', marker='x', color='red')\n",
    "plt.plot(time_steps, test_outputs_RNN['test_y']*targ_std+targ_mean, label='Predicted - RNN', marker='>', color='black')\n",
    "plt.plot(time_steps, test_outputs_CNN['test_y']*targ_std+targ_mean, label='Predicted - CNN', marker='^', color='gray')\n",
    "plt.xlabel('Time (h)')\n",
    "plt.ylabel('RTU Load (kWh)')\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.show()\n",
    "\n",
    "# compute mean square error and mean absolute error metrics\n",
    "print('MSE and MAE (MLP):', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_MLP['test_y']*targ_std)))))\n",
    "print('MSE and MAE (RNN):', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_RNN['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_RNN['test_y']*targ_std)))))\n",
    "print('MSE and MAE (CNN):', np.mean((targets_avg[div:]*targ_std-np.array(test_outputs_CNN['test_y']*targ_std))**2), \\\n",
    "                                np.mean((np.abs(targets_avg[div:]*targ_std-np.array(test_outputs_CNN['test_y']*targ_std)))))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
